Hallo,
irgendwie fehlt mir gerade der Durchblick. In meinem Fall initialisiere ich die Variablen in einem Konstruktor, so wie unten im Beispiel. Wenn ich nun im Menü Test aufrufe sollte das Programm mir die Oberfläche meines Erachtens neu darstellen. Aber er überschreibt nur die alten Werte. Sprich sehe ich zwar die Zahl 0, aber dahinter noch den alten Wert der Variablen. Wieso, und wie kann ich das verhindern?
irgendwie fehlt mir gerade der Durchblick. In meinem Fall initialisiere ich die Variablen in einem Konstruktor, so wie unten im Beispiel. Wenn ich nun im Menü Test aufrufe sollte das Programm mir die Oberfläche meines Erachtens neu darstellen. Aber er überschreibt nur die alten Werte. Sprich sehe ich zwar die Zahl 0, aber dahinter noch den alten Wert der Variablen. Wieso, und wie kann ich das verhindern?
Code:
import java.awt.event.*;
import javax.swing.*;
class Test5 extends JFrame {
JFrame frame = new JFrame("Test");
public void testWindow(){
JMenuBar menubar = new JMenuBar();
JMenu test = new JMenu("Test");
JMenuItem test2 = new JMenuItem("TestStart");
test.add(test2);
menubar.add(test);
test2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
test2ActionPerformed(frame);
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setJMenuBar(menubar);
frame.setSize(100,100);
frame.setVisible(true);
}
public void test2ActionPerformed(JFrame f){
TestFenster abfrage = new TestFenster();
abfrage.start(f);
f.validate();
}
}
class TestFenster extends Test5 {
WeitereKlasse weitereKlasse = new WeitereKlasse();
public TestFenster(){
weitereKlasse.int = 0;
weitereKlasse.int2 = 0;
}
public void start(JFrame f){
f.add(new JButton("Aufschrift"));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,200);
setVisible(true);
//es wird im Weiteren mit int gearbeitet...
}
}
public class MainTest {
public static void main(String[] args) {
Test5 test = new Test5();
test.testWindow();
}
}