永发信息网

java新手的一个问题 关于界面开发的时候windowlistener

答案:4  悬赏:0  手机版
解决时间 2021-02-22 15:37
package life;
import java.io.*;
import java.util.*;
import java.lang.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class practice
{
public static void main(String[] args)
{
JFrame jf=new JFrame("windowlistener");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(600, 600);
jf.setLocation(100, 100);
JPanel jp=new JPanel();
jf.setContentPane(jp);
WindowListener wl=new windowhandle();
jf.addWindowListener(wl);
jf.setVisible(true);

}

}
class windowhandle extends WindowAdapter//适配器的作用就是只实现借口中的若干个方法 其他的自动成为空
{
public void WindowClosing(WindowEvent e)
{
System.out.println("正在尝试关闭系统哦");
JDialog d=new JDialog();
d.setSize(100,100);
d.setLocation(0, 0);
JButton jb1=new JButton("关闭");
JButton jb2=new JButton("取消");
JPanel j=new JPanel();
d.setContentPane(j);
j.add(new Label("你确定要关闭?"));
j.add(jb1);
j.add(jb2);
d.setVisible(true);
j.setVisible(true);
}
}
为什么一点效果都木有~~
希望能够按关闭的时候弹出一个你确认关闭吗?
最佳答案
改成这样
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class practice{

public static void main(String[] args){
JFrame jf=new JFrame("windowlistener");
jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
jf.setSize(600, 600);
jf.setLocation(100, 100);
JPanel jp=new JPanel();
jf.setContentPane(jp);
windowhandle wl=new windowhandle();
jf.addWindowListener(wl);
jf.setVisible(true);
}
}
class windowhandle extends WindowAdapter{
public void windowClosing(WindowEvent e){
int select=JOptionPane.showConfirmDialog(null, "你确定要关闭?","正在尝试关闭系统哦",JOptionPane.YES_NO_OPTION);
if(select==JOptionPane.YES_OPTION) {
System.exit(0);
}
return;
}
}
全部回答
....
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);你已经设置了默认的关闭窗口的方式 package life; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class practice { public static void main(String[] args) { JFrame jf=new JFrame("windowlistener"); //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //默认关闭frame jf.setSize(600, 600); jf.setLocation(100, 100); JPanel jp=new JPanel(); jf.setContentPane(jp); WindowListener wl=new windowhandle(jf); jf.addWindowListener(wl); jf.setVisible(true); } } class windowhandle extends WindowAdapter//适配器的作用就是只实现借口中的若干个方法 其他的自动成为空 implements ActionListener { private JButton jb1=new JButton("关闭"); private JButton jb2=new JButton("取消"); private JDialog d=new JDialog(); private JFrame jf=new JFrame(); public windowhandle(JFrame jf){ this.jf=jf; } @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.out.println("正在尝试关闭系统哦"); d.setSize(300,100); d.setLocation(0, 0); jb1.addActionListener(this); jb2.addActionListener(this); JPanel j=new JPanel(); d.setContentPane(j); j.add(new Label("你确定要关闭?")); j.add(jb1); j.add(jb2); d.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==jb1){ System.exit(0); }else if(arg0.getSource()==jb2){ jf.setVisible(true); d.setVisible(false); } } }
//frame 上设置panel,panel上可以再装panel jf.setContentPane(pane); //panel上设置button JPanel pane = new JPanel(new FlowLayout());//FlowLayout为布局 JButton start =new JButton("asd"); pane.add(start); //button 调用监听 strat.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int val = JOptionPane.showConfirmDialog(这个button的JFRAME , "确定关闭吗"); if(val==JOptionPane.YES_OPTION){ System.exit(0); } } });
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中亚南路/厦门路(路口)地址在哪,我要去那里
人人网怎么关注别人 人人网怎么取消关注主页
为什么早上吃了一个玉米面馒头2小时后血糖会
已知tanA=3~求sinAcosA又等于多少?sinA的平方
宝坻到唐山多少公里
统考的事业单位可以同时报两个地方吗
求2k11科比菜花头面补~
百信医药连锁药房草市口分店地址有知道的么?
华硕Z77-A跟华硕P8Z77-V LX2,这个二个主板,
微信上别人说话声音大而自己说话声音小怎么办
泰迪狗随地大小便怎么办有时候还尿在床上发现
【电子万用表】电子万用表上的各个符号表示什
驾校报名费多少法律有规定吗?
穿越小说应该怎么写,需要准备些什么
登封哪里可以 领养小孩
推荐资讯
【福娃介绍】福娃英语简介每一个两三句话~千
众志成城的意思是什么
孩子的相貌取决于父母谁的基因呢?
隆兴龙装饰五金批发(河源分店)在哪里啊,我有
莱阳市恒达实业机动车登记服务站这个地址在什
雄达广告·印务地址在哪,我要去那里办事
【雪降】什么叫岩升雪降具体表现是什么怎样形
珠海广药康鸣医药有限公司怎么去啊,有知道地
一方美食城地址有知道的么?有点事想过去
东营到上海多少公里
如何变更还款银行卡
2ne1成员个人资料
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?