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);
}
}
为什么一点效果都木有~~
希望能够按关闭的时候弹出一个你确认关闭吗?
java新手的一个问题 关于界面开发的时候windowlistener
答案:4 悬赏:0 手机版
解决时间 2021-02-22 15:37
- 提问者网友:你独家记忆
- 2021-02-22 08:25
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-02-22 09:24
改成这样
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;
}
}
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;
}
}
全部回答
- 1楼网友:末日狂欢
- 2021-02-22 12:33
....
- 2楼网友:一叶十三刺
- 2021-02-22 11:08
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);
}
}
}
- 3楼网友:鱼忧
- 2021-02-22 10:12
//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);
}
}
});
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯