- Java code
package unit7;import java.awt.BorderLayout;import javax.swing.JButton;import javax.swing.JFrame;public class ex_1 extends JFrame{ //声明并创建BorderLayout布局管理对象 BorderLayout borderlayout1=new BorderLayout(); JButton jbutton1,jbutton2,jbutton3,jbutton4,jbutton5; public void BorderLayoutDemo() { super("BorderLayout"); //问题1:此处按照教材,提示:必须是第一句 getContentPane().setLayout(borderlayout1); jbutton1=new JButton("up"); //创建名为up的按钮 getContentPane().add(jbutton1,borderlayout1.NORTH); } //BorderLayoutDemo borderLayoutDemo=new BorderLayoutDemo(); public static void main(String[] args) { ex_1 Class =new ex_1(); BorderLayoutDemo borderLayoutDemo; //问题2:此处提示:BorderLayoutDemo 无法解析为类型 borderLayoutDemo=new BorderLayoutDemo(); borderLayoutDemo.setSize(400,400); borderLayoutDemo.setVisible(true); borderLayoutDemo.setDefaultCloseOpration(JFrame.EXIT_ON_CLOSE); }
关键的两个问题,求解答~谢谢
------解决方案--------------------
1:super语句必须是方法里的第一条语句
2:BorderLayoutDemo明显是一个类,你没有写,所以会报错
还是别看教材了,而且awt已经过时了,自己玩玩还可以,很少有企业用的。
------解决方案--------------------
1.super() 语句:正在调用父类的构造方法
初始化 顺序应该是.
父静态变量-->子静态变量-->父非静态变量-->父静态代码块-->父构造函数
------>子非静态变量(0 ,false,null)-->子静态代码块-->子构造函数
2.
你把文件名和类名分别改为:BorderLayoutDemo.java 和 BorderLayoutDemo
然后在main方法中去掉第一行代码:
ex_1 Class =new ex_1();