JAVA问题?
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);这个在什么时候使用?为什么我在main方法里面用这个方法想去关闭窗口,报错说没...
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);这个在什么时候使用?为什么我在main方法里面用这个方法想去关闭窗口,报错说没有为类型Frame定义方法setDefaultCloseOperation(int)
展开
3个回答
展开全部
1
setDefaultCloseOperation不是用来直接关闭窗口的,而是当你点击窗口右上角的关闭按钮或选择系统菜单的关闭菜单时,指定窗口的响应行为。当点击关闭按钮或选择了关闭菜单时,窗口默认的响应行为是隐藏自己。但可以通过setDefaultCloseOperation来改变窗口对关闭事件的响应,比如:setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);就设置成当窗口关闭时,结束进程,即退出程序。
2
setDefaultCloseOperation是类JFrame的方法,不是类Frame的方法,Frame类的对象当然不能调用这个方法。
3
EXIT_ON_CLOSE是类JFrame的公共静态最终字段(public static final),引用这个字段,要加类前缀,用这种形式:JFrame.EXIT_ON_CLOSE。
下面是一个例子,供参考
import java.awt.*;
import javax.swing.*;
public class Demo extends JFrame
{
public static void main(String[] args)
{
new Demo();
}
Demo()
{
JPanel p1=new JPanel(),p2=new JPanel(),p3=new JPanel();
p1.add(new JButton("Button 1"));
p2.add(new JButton("Button 2"));
p2.add(new JButton("Button 3"));
p3.add(new JButton("Button 4"));
p3.add(new JButton("Button 5"));
p3.add(new JButton("Button 6"));
setLayout(new GridLayout(3,1));
add(p1);
add(p2);
add(p3);
setTitle("一个Java窗口");
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
}
setDefaultCloseOperation不是用来直接关闭窗口的,而是当你点击窗口右上角的关闭按钮或选择系统菜单的关闭菜单时,指定窗口的响应行为。当点击关闭按钮或选择了关闭菜单时,窗口默认的响应行为是隐藏自己。但可以通过setDefaultCloseOperation来改变窗口对关闭事件的响应,比如:setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);就设置成当窗口关闭时,结束进程,即退出程序。
2
setDefaultCloseOperation是类JFrame的方法,不是类Frame的方法,Frame类的对象当然不能调用这个方法。
3
EXIT_ON_CLOSE是类JFrame的公共静态最终字段(public static final),引用这个字段,要加类前缀,用这种形式:JFrame.EXIT_ON_CLOSE。
下面是一个例子,供参考
import java.awt.*;
import javax.swing.*;
public class Demo extends JFrame
{
public static void main(String[] args)
{
new Demo();
}
Demo()
{
JPanel p1=new JPanel(),p2=new JPanel(),p3=new JPanel();
p1.add(new JButton("Button 1"));
p2.add(new JButton("Button 2"));
p2.add(new JButton("Button 3"));
p3.add(new JButton("Button 4"));
p3.add(new JButton("Button 5"));
p3.add(new JButton("Button 6"));
setLayout(new GridLayout(3,1));
add(p1);
add(p2);
add(p3);
setTitle("一个Java窗口");
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
}
2021-05-12 · 学动漫、设计、电竞、电商、短视频、软件等
关注
展开全部
:点击datagridview某条信息弹出信息详情窗口,当连续点击时需要关闭之前的详情窗口。实现方式:父窗口中全局创建子窗口(MsgDetailFrm ): M
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-06-19
展开全部
如果不设置默认关闭操作, 在你点击窗口标题上的关闭按钮后, 应用是不会关闭的, 进程会一直存在的
setDefaultCloseOperation(EXIT_ON_CLOSE)
就是设置点了关闭按钮后, 彻底退出
setDefaultCloseOperation(EXIT_ON_CLOSE)
就是设置点了关闭按钮后, 彻底退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询