黑马程序员技术交流社区
标题:
GUI问题
[打印本页]
作者:
小小太阳
时间:
2013-5-24 12:17
标题:
GUI问题
public class guidemo2 {
public static void main(String[] args) {
new listenerdemo();
}
}
class listenerdemo
{
private Frame f;
private Button b;
private TextField tf;
listenerdemo()
{
demo();
}
public void demo()
{
f = new Frame();
b = new Button("确定");
tf = new TextField(30);
f.setBounds(200, 100, 300, 200);
f.setLayout(new FlowLayout());
f.add(b);
f.add(tf);
//f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowActivated(WindowEvent e)
{
System.out.println("窗体前置");
}
public void windowOpened(WindowEvent e)
{
System.out.println("窗体打开");
}
});
f.setVisible(true);
}
复制代码
f.setVisible(true);放在最后监听后边和放在监听前边,运行的效果不一样,放在前边,窗体打开时并么有输出窗体打开的文字,谁能给解释一下,
作者:
张旺达
时间:
2013-5-24 13:48
我的看法:
第一,哥们,你复制的时候最后少了个括号,前面也没有导包。
第二,f.setVisible(true);的作用就是设置可见嘛,你要是放在监听的前面的话,只是把f.setVisible(true)以前的东西给设置了,但是监听没有设置,所以“窗体前置和窗体打开”还仍然处于UNVisible状态。。 所以看不到,一般都是把setVisible(true)放在最后面的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2