Hallo, ich brauche mal wieder eure Hilfe,bei vererbung. Also ich habe folgende zwei Klassen:
AbstractTestFrame.java
und DefaultTestFrame.java
So wenn ich das ausführe wird auch der JButton angezeigt. Aber wenn ich jetzt auf den Button Clicke ist er Null. Warum passirt das? wie kann ich es Machen das der JButton nicht null ist?
AbstractTestFrame.java
Java:
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
public abstract class AbstractTestFrame {
private JFrame f = new JFrame();
public AbstractTestFrame() {
f = new JFrame();
f.setPreferredSize(new Dimension(800,600));
f.add(getPanel());
}
public void show(){
f.pack();
f.setVisible(true);
}
public abstract JPanel getPanel();
public static void main(String[] args) {
new DefaultTestFrame().show();
}
}
und DefaultTestFrame.java
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
public class DefaultTestFrame extends AbstractTestFrame implements ActionListener{
private JButton t = null;
@Override
public JPanel getPanel() {
JPanel p = new JPanel();
t = new JButton("Test");
t.addActionListener(this);
p.add(t);
return p;
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(t);
}
}
So wenn ich das ausführe wird auch der JButton angezeigt. Aber wenn ich jetzt auf den Button Clicke ist er Null. Warum passirt das? wie kann ich es Machen das der JButton nicht null ist?