class StartUpAction implements ActionListener { // Button is clicked public void actionPerformed (ActionEvent e ) { System.out.println("User Clicked the Button"); } } public class StartUpScreen { JFrame jf; //object of class JButton JButton start; StartUpScreen() { jf = new JFrame ("Java 1 batch"); start = new JButton("Click Me"); jf.setLayout(new FlowLayout()); //FlowLayout是流式布局.设置这个布局之后组件在窗体中从左到右依次排列 如果排到行的末尾 换行排列 排列会随着窗体的大小而改变 jf.add(start);//add start to the frame jf.setSize(300,300); jf.setVisible(true);//make the frame visible start.addActionListener(new StartUpAction()); } public static void main(String[] args) { StartUpScreen obj = new StartUpScreen(); } }
public class StartUpScreen2_0 { JFrame jf; //object of class JButton JButton start; StartUpScreen2_0() { jf = new JFrame ("Java 1 batch"); start = new JButton("Click Me"); jf.setLayout(new FlowLayout()); //FlowLayout是流式布局.设置这个布局之后组件在窗体中从左到右依次排列 如果排到行的末尾 换行排列 排列会随着窗体的大小而改变 jf.add(start); jf.setSize(300,300); jf.setVisible(true); //Anonymous Inner Class start.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent e) { System.out.println("User Clicked the Button"); } }); } public static void main(String[] args) { StartUpScreen2_0 obj = new StartUpScreen2_0(); } }
图中所示的即为上述的两段代码。
这是我们老师在上课时给我们讲的一个关于startupscreen的例子。
两段代码好像是第一个用了两个object第二个用了一个object...这两段语句有哪些不同???
但是关于图中用红框圈出的语句我有些不太明白,求大神解释。
1.class StartUpAction implements ActionListener
是什么意思?什么时候该用到这个语句?
2.public void actionPerformed (ActionEvent e )
这个是什么意思?ActionEvent e 这个e我发现去掉程序也能照常运行- -
3.start.addActionListener(new StartUpAction());
这个语句是什么意思?
第二个程序语句中
start.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent e) { System.out.println("User Clicked the Button"); } });
这段语句是什么意思?为什么要用括号“()”把后面的这一部分都括起来?
本人的确很渣= =百度上的有些专业语句也看不太懂。。跪求大神耐心求解
相关分类