我些两个两个类,一个父类Parent,一个子类继承Parent的Child类
代码如下:
public class Parent
extends JFrame
{
public Parent()
{
try {
jbInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
} protected void jbInit() throws Exception
{
getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(33, 27, 73, 26));
jButton1.setText("jButton1");
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(139, 112, 111, 22));
jToggleButton1.setText("jToggleButton1");
jToggleButton1.setBounds(new Rectangle(143, 27, 105, 26));
this.setVisible(true);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(jToggleButton1, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
jButton2.setBounds(new Rectangle(35, 107, 73, 26));
jButton2.setText("jButton2");
} JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JToggleButton jToggleButton1 = new JToggleButton();
JTextField jTextField1 = new JTextField();
}
public class Child extends Parent
{
public Child()
{
this.setVisible(true);
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
}
} public static void main(String[] args)
{
Child child = new Child();
} protected void jbInit() throws Exception
{
this.getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(108, 213, 73, 26)); //异常的地方
jButton1.setText("jButton1");
super.getContentPane().add(jButton1);
this.setTitle("测试窗体");
super.jbInit();
} JButton jButton1 = new JButton();
}
运行Child类,程序可以通过且窗体也可以显示,但也附带出现了一下异常信息:
java.lang.NullPointerException
at forminherit.Child.jbInit(Child.java:28)//点击此处挑至jButton1.setBounds(new Rectangle...
at forminherit.Parent.<init>(Parent.java:16)
at forminherit.Child.<init>(Child.java:10)
at forminherit.Child.main(Child.java:22)这个问题要怎么解决?
代码如下:
public class Parent
extends JFrame
{
public Parent()
{
try {
jbInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
} protected void jbInit() throws Exception
{
getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(33, 27, 73, 26));
jButton1.setText("jButton1");
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(139, 112, 111, 22));
jToggleButton1.setText("jToggleButton1");
jToggleButton1.setBounds(new Rectangle(143, 27, 105, 26));
this.setVisible(true);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(jToggleButton1, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
jButton2.setBounds(new Rectangle(35, 107, 73, 26));
jButton2.setText("jButton2");
} JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JToggleButton jToggleButton1 = new JToggleButton();
JTextField jTextField1 = new JTextField();
}
public class Child extends Parent
{
public Child()
{
this.setVisible(true);
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
}
} public static void main(String[] args)
{
Child child = new Child();
} protected void jbInit() throws Exception
{
this.getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(108, 213, 73, 26)); //异常的地方
jButton1.setText("jButton1");
super.getContentPane().add(jButton1);
this.setTitle("测试窗体");
super.jbInit();
} JButton jButton1 = new JButton();
}
运行Child类,程序可以通过且窗体也可以显示,但也附带出现了一下异常信息:
java.lang.NullPointerException
at forminherit.Child.jbInit(Child.java:28)//点击此处挑至jButton1.setBounds(new Rectangle...
at forminherit.Parent.<init>(Parent.java:16)
at forminherit.Child.<init>(Child.java:10)
at forminherit.Child.main(Child.java:22)这个问题要怎么解决?
楼主【pmallen】截止到2008-07-11 17:49:40的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:60 每贴平均分数:20
回帖的总数量:46 得分贴总数量:13 回帖的得分率:28%
结贴的总数量:2 结贴的总分数:40
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:66.67 % 结分的百分比:66.67 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
因为多态的问题,子类的jbInit() 调用了两遍。
只是如果我再想调用父类,对父类进行操作,那么去掉jbInit()这个父类的窗体根本没法操作?