黑马程序员技术交流社区
标题:
GUI问题
[打印本页]
作者:
伍仪华
时间:
2011-7-21 17:38
标题:
GUI问题
刚开始学GUI,下面这个程序,哪位修改一下,使窗口能够关闭,多谢了
import java.awt.*;
//创建一个框架对象,并且它的名称是“学生管理系统”。
//通过setSize方法来设置框架大小
//通过setVisible方法来设置框架显示
//按关闭按钮时结束窗体所在的应用程序
public class FrameTest {
public static void main(String[] args) {
Frame frame = new Frame("学生管理系统");
frame.setSize(300,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void setDefaultCloseOperation(int operation){
}
}
[
本帖最后由 伍仪华 于 2011-07-21 17:39 编辑
]
作者:
王松朝
时间:
2011-7-21 17:56
最后关闭窗口的方法上不对.
首先Frame 没有这样的关闭窗口的方法,其次你自己写的方法就没有被调用,第三,传递的常量也也没定义
你的本意应该是这样的代码吧:
class MyFrame extends JFrame{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
作者:
BlackHorse
时间:
2011-7-21 18:10
Frame类没有frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
你可以把 Frame frame = new Frame("学生管理系统"); 修改成JFrame frame=new JFrame();
或者Frame frame = new Frame("学生管理系统");
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WIndowEvent event)
{
dispose();
System.exit(0);
}
})
作者:
匿名
时间:
2011-7-21 18:38
你理解错了, setDefaultCloseOperation()方法是Jframe中才有的,你那种想要自己实现方法是不实际的,没有实现监听器事件是不会触发的,除非你在你写的方法中有两种更改方法中写上监听器代码。最直接的方法就是将Frame改为JFrame再将你最后写的方法去掉。另外在编程中尽量使用swing 要比awt 简便快捷。
作者:
匿名
时间:
2011-7-21 18:46
关闭窗口办法:
1、使用监听器并且使用了匿名类和适配器 frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
frame.dispose();
}
2.class MyWindowListener implements WindowListener{}
定义一个自己的类,实现WindowListener,要覆盖
public void windowClosing(WindowEvent e) {
((Window)e.getComponent()).dispose();
System.exit(0);}
在主函数中frame.addWindowListener(new YourMyWindowListener());
3、还有一种就是在自己框架中定义一个按钮,在让按钮实现这一功能
Button bt=new Button("zsw");
// 匿名内置类
bt.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e)
{
frame.dispose();
System.exit(0);
}
});
你也可以自己查看API文档,自己去认真看看这些方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2