Hallo,
ich hab ein Fehler in meiner Textausgabe und jedes mal wenn ich das Fenster bewege wird die Textausgabe hinter der anderen Textausgabe geschrieben, d.h. Wenn man das Ergebnis 10 ist schreibt er "10 10 10 10 10..." und ich verstehe zwar warum er die Textausgabe zeichnet aber ich verstehe nicht warum er die alte nicht ersetzt.
Konstruktor:
actionPerformed
Ich hoffe ihr findet den Fehler - es ist wahrscheinlich irgendwas, was ich über die GUI noch nicht wusste ^^
ich hab ein Fehler in meiner Textausgabe und jedes mal wenn ich das Fenster bewege wird die Textausgabe hinter der anderen Textausgabe geschrieben, d.h. Wenn man das Ergebnis 10 ist schreibt er "10 10 10 10 10..." und ich verstehe zwar warum er die Textausgabe zeichnet aber ich verstehe nicht warum er die alte nicht ersetzt.
Konstruktor:
Java:
public Gui() {
super(" Sting Title ");
setSize(700, 700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
panel = new JPanel();
tfLabel = new JLabel("");
tfLabel.setAlignmentX(JLabel.LEFT);
tf = new JTextField("Rechnung", 50);
button = new JButton("Ergebnis");
panel.add(tf);
panel.add(button);
add(panel,BorderLayout.LINE_START);
button.setActionCommand("button");
button.addActionListener(this);
}
actionPerformed
Java:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button) {
repaint();
add(new DrawPanel());
validate();
}
}
Java:
class DrawPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
StackRechner r= new StackRechner();
inf = tf.getText();
String postfix="";
postfix=r.getPostfix(inf);
System.out.println(inf);
displayPostfix= new JLabel(postfix);
add(displayPostfix);
}
}
Ich hoffe ihr findet den Fehler - es ist wahrscheinlich irgendwas, was ich über die GUI noch nicht wusste ^^