Ich bin dabei einen grafischen taschenrechner zu implementieren.
Der Anwender soll eine Zahl eingeben können, z. B xmin = 5 und diese zahl möchte ich dann weiterverwenden, aber dafür muss die zahl ja überhauprt erst erscheinen! Bei den rot markierten stellen komme ich nicht weiter und wenn ich so diesen code compilieren will passiert iwie gar nichts..?
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.util.Scanner;
/**
*
* description
*
* @version 1.0 from 09.04.2012
* @xxx
*/
public class q extends JFrame
{
// Anfang Attribute
private JButton Null = new JButton();
private JButton eins = new JButton();
private JButton zwei = new JButton();
private JButton drei = new JButton();
private JButton vier = new JButton();
private JButton fuenf = new JButton();
private JButton sechs = new JButton();
private JButton sieben = new JButton();
private JButton acht = new JButton();
private JButton neun = new JButton();
private JButton punkt = new JButton();
private JButton enter = new JButton();
private JButton plus = new JButton();
private JButton minus = new JButton();
private JButton mal = new JButton();
private JButton geteilt = new JButton();
private JButton variable = new JButton();
private JButton pi = new JButton();
private JButton hoch2 = new JButton();
private JButton wurzel = new JButton();
private JButton clear = new JButton();
private JButton graph = new JButton();
private JButton windowset = new JButton();
private JTextArea display1 = new JTextArea();
int x1;
boolean start = true;
private String lastCommand;
private double result;
JFrame fenster = null;
JPanel hauptFlaeche = null;
ZeichenFlaeche zeichenFlaeche = null;
private JScrollPane display1ScrollPane = new JScrollPane(display1);
// Ende Attribute
public q (String title)
{
super (title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 500;
int frameHeight = 600;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
cp.setBackground(new Color(0xB8CFE5));
zeichne();
Linie();
achsenbeschriftung();
Scanner();
// Anfang Komponenten
Null.setBounds(104, 328, 60, 40);
Null.setText("0");
Null.setMargin(new Insets(2, 2, 2, 2));
Null.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
Null_ActionPerformed(evt);
String text = display1.getText();
text += "0";
display1.setText(text);
}
});
cp.add(Null);
eins.setBounds(104, 280, 60, 40);
eins.setText("1");
eins.setMargin(new Insets(2, 2, 2, 2));
eins.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
eins_ActionPerformed(evt);
String text = display1.getText();
text += "1";
display1.setText(text);
}
});
cp.add(eins);
zwei.setBounds(176, 280, 60, 40);
zwei.setText("2");
zwei.setMargin(new Insets(2, 2, 2, 2));
zwei.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
zwei_ActionPerformed(evt);
String text = display1.getText();
text += "2";
display1.setText(text);
}
});
cp.add(zwei);
drei.setBounds(248, 280, 60, 40);
drei.setText("3");
drei.setMargin(new Insets(2, 2, 2, 2));
drei.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
drei_ActionPerformed(evt);
String text = display1.getText();
text += "3";
display1.setText(text);
}
});
cp.add(drei);
vier.setBounds(104, 232, 60, 40);
vier.setText("4");
vier.setMargin(new Insets(2, 2, 2, 2));
vier.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
vier_ActionPerformed(evt);
String text = display1.getText();
text += "4";
display1.setText(text);
}
});
cp.add(vier);
fuenf.setBounds(176, 232, 60, 40);
fuenf.setText("5");
fuenf.setMargin(new Insets(2, 2, 2, 2));
fuenf.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
fuenf_ActionPerformed(evt);
String text = display1.getText();
text += "5";
display1.setText(text);
}
});
cp.add(fuenf);
sechs.setBounds(248, 232, 60, 40);
sechs.setText("6");
sechs.setMargin(new Insets(2, 2, 2, 2));
sechs.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
sechs_ActionPerformed(evt);
String text = display1.getText();
text += "6";
display1.setText(text);
}
});
cp.add(sechs);
sieben.setBounds(104, 184, 60, 40);
sieben.setText("7");
sieben.setMargin(new Insets(2, 2, 2, 2));
sieben.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
sieben_ActionPerformed(evt);
String text = display1.getText();
text += "7";
display1.setText(text);
}
});
cp.add(sieben);
acht.setBounds(176, 184, 60, 40);
acht.setText("8");
acht.setMargin(new Insets(2, 2, 2, 2));
acht.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
acht_ActionPerformed(evt);
String text = display1.getText();
text += "8";
display1.setText(text);
}
});
cp.add(acht);
neun.setBounds(248, 184, 60, 40);
neun.setText("9");
neun.setMargin(new Insets(2, 2, 2, 2));
neun.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
neun_ActionPerformed(evt);
String text = display1.getText();
text += "9";
display1.setText(text);
}
});
cp.add(neun);
punkt.setBounds(176, 328, 60, 40);
punkt.setText(".");
punkt.setMargin(new Insets(2, 2, 2, 2));
punkt.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
punkt_ActionPerformed(evt);
String text = display1.getText();
text += ".";
display1.setText(text);
}
});
cp.add(punkt);
enter.setBounds(248, 328, 60, 40);
enter.setText("Enter");
enter.setMargin(new Insets(2, 2, 2, 2));
enter.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
enter_ActionPerformed(evt);
String rechnung = display1.getText();
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("js");
try
{
String text = (engine.eval(rechnung)).toString();
display1.setText(text);
} catch(Exception e){}
}
});
cp.add(enter);
plus.setBounds(320, 184, 60, 40);
plus.setText("+");
plus.setMargin(new Insets(2, 2, 2, 2));
plus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
plus_ActionPerformed(evt);
String text = display1.getText();
text += "+";
display1.setText(text);
}
});
cp.add(plus);
minus.setBounds(320, 232, 60, 40);
minus.setText("-");
minus.setMargin(new Insets(2, 2, 2, 2));
minus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
minus_ActionPerformed(evt);
String text = display1.getText();
text += "-";
display1.setText(text);
}
});
cp.add(minus);
mal.setBounds(320, 280, 60, 40);
mal.setText("*");
mal.setMargin(new Insets(2, 2, 2, 2));
mal.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
mal_ActionPerformed(evt);
String text = display1.getText();
text += "*";
display1.setText(text);
}
});
cp.add(mal);
geteilt.setBounds(320, 328, 60, 40);
geteilt.setText("/");
geteilt.setMargin(new Insets(2, 2, 2, 2));
geteilt.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
geteilt_ActionPerformed(evt);
String text = display1.getText();
text += "/";
display1.setText(text);
}
});
cp.add(geteilt);
variable.setBounds(104, 376, 60, 40);
variable.setText("x");
variable.setMargin(new Insets(2, 2, 2, 2));
variable.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
variable_ActionPerformed(evt);
String text = display1.getText();
text += "x";
display1.setText(text);
}
});
cp.add(variable);
pi.setBounds(176, 376, 60, 40);
pi.setText("\u03C0");
pi.setMargin(new Insets(2, 2, 2, 2));
pi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
pi_ActionPerformed(evt);
String text = display1.getText();
text += "\u03C0";
display1.setText(text);
}
});
cp.add(pi);
hoch2.setBounds(248, 376, 60, 40);
hoch2.setText("x²");
hoch2.setMargin(new Insets(2, 2, 2, 2));
hoch2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
hoch2_ActionPerformed(evt);
String text = display1.getText();
text += "";
display1.setText(text);
}
});
cp.add(hoch2);
wurzel.setBounds(320, 376, 60, 40);
wurzel.setText("\u221A");
wurzel.setMargin(new Insets(2, 2, 2, 2));
wurzel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
wurzel_ActionPerformed(evt);
String text = display1.getText();
text += "0";
display1.setText(text);
}
});
cp.add(wurzel);
clear.setBounds(104, 424, 60, 40);
clear.setText("C");
clear.setMargin(new Insets(2, 2, 2, 2));
clear.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
clear_ActionPerformed(evt);
display1.setText("");
}
});
cp.add(clear);
graph.setBounds(176, 424, 60, 40);
graph.setText("Graph");
graph.setMargin(new Insets(2, 2, 2, 2));
graph.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
graph_ActionPerformed(evt);
fenster.setVisible(false);
}
});
cp.add(graph);
windowset.setBounds(248, 424, 60, 40);
windowset.setText("Window");
windowset.setMargin(new Insets(2, 2, 2, 2));
windowset.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
windowset_ActionPerformed(evt);
fenster.setVisible(true);
}
});
cp.add(windowset);
display1ScrollPane.setBounds(104, 32, 280, 110);
cp.add(display1ScrollPane);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void zeichne() // erstellen einer Zeichenfläche in einem neuen Fenster
{
fenster = new JFrame();
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setTitle("Koordinatensystem");
hauptFlaeche = new JPanel(new BorderLayout());
zeichenFlaeche = new ZeichenFlaeche(700, 700);
hauptFlaeche.add(zeichenFlaeche, BorderLayout.CENTER);
fenster.getContentPane().add(hauptFlaeche);
fenster.pack();
fenster.setResizable(false);
fenster.setVisible(false);
}
public void Linie()
{
zeichenFlaeche.setzeLinie(0, 0, 700, 0); // x-Achse
zeichenFlaeche.setzeLinie(0 , 0, 0, 700); // y-Achse
zeichenFlaeche.setzeLinie(450, 340, 450, 360); // + Punkte x-Achse
zeichenFlaeche.setzeLinie(500, 340, 500, 360);
zeichenFlaeche.setzeLinie(550, 340, 550, 360);
zeichenFlaeche.setzeLinie(600, 340, 600, 360);
zeichenFlaeche.setzeLinie(650, 340, 650, 360);
zeichenFlaeche.setzeLinie(350, 340, 350, 360); // - Punkte x-Achse
zeichenFlaeche.setzeLinie(300, 340, 300, 360);
zeichenFlaeche.setzeLinie(250, 340, 250, 360);
zeichenFlaeche.setzeLinie(200, 340, 200, 360);
zeichenFlaeche.setzeLinie(150, 340, 150, 360);
zeichenFlaeche.setzeLinie(390, 300, 410, 300); // + Punkte y-Achse
zeichenFlaeche.setzeLinie(390, 250, 410, 250);
zeichenFlaeche.setzeLinie(390, 200, 410, 200);
zeichenFlaeche.setzeLinie(390, 150, 410, 150);
zeichenFlaeche.setzeLinie(390, 100, 410, 100);
zeichenFlaeche.setzeLinie(390, 400, 410, 400); // - Punkte y-Achse
zeichenFlaeche.setzeLinie(390, 450, 410, 450);
zeichenFlaeche.setzeLinie(390, 500, 410, 500);
zeichenFlaeche.setzeLinie(390, 550, 410, 550);
zeichenFlaeche.setzeLinie(390, 600, 410, 600);
}
public void achsenbeschriftung()
{
zeichenFlaeche.setzeText("y", 395, 40, 20);
zeichenFlaeche.setzeText("x", 760, 355, 20);
}
[COLOR="Red"] public void Scanner()
{
Scanner scan = new Scanner(System.in);
int x1;
x1 = scan.nextInt();
}[/COLOR]
public void Null_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void eins_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void zwei_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void drei_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void vier_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void fuenf_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void sechs_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void sieben_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void acht_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void neun_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void punkt_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void enter_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void plus_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void minus_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void mal_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void geteilt_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void variable_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void pi_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void hoch2_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void wurzel_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void clear_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void graph_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}
public void windowset_ActionPerformed(ActionEvent evt)
{
[COLOR="Red"]display1.setText(" Xmin = " + x1 + "\n Xmax = \n Xscl = \n Ymin = \n Ymax = \n Yscl = ");[/COLOR]
}
// Ende Methoden
public static void main(String[] args)
{
new q("q");
}
}
Der Anwender soll eine Zahl eingeben können, z. B xmin = 5 und diese zahl möchte ich dann weiterverwenden, aber dafür muss die zahl ja überhauprt erst erscheinen! Bei den rot markierten stellen komme ich nicht weiter und wenn ich so diesen code compilieren will passiert iwie gar nichts..?