导航:首页 > 编程语言 > java如何关闭对话框

java如何关闭对话框

发布时间:2024-12-19 17:09:57

A. 我是java新手。java中点击关闭窗口,然后怎样才能出现提示对话框呢点击确定才真正退出的那种。麻烦啦

关键:
1 调用JFrame的oseOperation(),设置关闭模式为DO_NOTHING_ON_CLOSE(就是默认关闭效用减半,仅触发WindowListener中的windowClosing方法)
2 弹对话框,确认关闭后,添加JFrame的dispose()

代码
package gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class MainFrame extends JFrame {

//退出按钮
JButton exitBtn;
//保留本框架实例的指针
JFrame thisFrame;

public static void main(String[] args) {

MainFrame mainFrame=new MainFrame();
mainFrame.pack();
mainFrame.setVisible(true);
}

public MainFrame(){
thisFrame=this;
initGUI();
}

private void initGUI(){
exitBtn=new JButton("退出");
exitBtn.setBounds(0, 0, 30, 20);
exitBtn.addActionListener(new exitBtnListener());
thisFrame.getContentPane().add(exitBtn);
thisFrame.addWindowListener(new windowListener());
//关键!框架将不会真正关闭
thisFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
}

//确认关闭
private void sureExit(){
int result=JOptionPane.showConfirmDialog(this, "你确定要退出本窗口不?", "Information", JOptionPane.YES_NO_OPTION);
if(result==JOptionPane.NO_OPTION){
return;
}
//真正执行关闭的语句
thisFrame.dispose();
}

//实现接口
class windowListener implements WindowListener{

@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowClosing(WindowEvent e) {
//在关闭时调用“确认关闭”方法
sureExit();
}

@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub

}

}

//实现接口
class exitBtnListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
//调用“确认关闭”方法
sureExit();
}
}
}

B. java中怎么关闭对话框

dl.dispose().
你不就是想弹出个确认对话框吗?直接JOptionPane.showConfirmDialog((null, "确认删除吗?", "确认删除框", JOptionPane.YES_NO_OPTION);就出来个带确内认的对话框。不容用自己定义了。

C. java Dialog 的关闭简单问题

因为变量dialog1是局部变量,每调用一次dialog方法都会新建一个JDialog并进行操作,需要将dialog1声明为全局:
JDialog dialog1=new JDialog(frame,"确认信息");
{
JToggleButton dbtn1=new JToggleButton("BACK");
JToggleButton dbtn2=new JToggleButton("OK");
JLabel dlabel=new JLabel("你确定重新抽取?????",JLabel.CENTER);

dialog1.setSize(300,400);
dialog1.setLayout(null);
dlabel.setBounds(50, 140, 150, 80);
dbtn1.setBounds(180, 300, 100, 40);
dbtn2.setBounds(25, 300, 100, 40);
dialog1.add(dlabel);
dialog1.add(dbtn1);
dialog1.add(dbtn2);
dialog1.setModal(true);

dbtn1.addActionListener(new DActionListener1());
dbtn2.addActionListener(new DActionListener2());
}

class MyActionListener1 implements ActionListener{
public void actionPerformed(ActionEvent e){
dialog(0);
} }

public void dialog(int a){
if(a==1){
dialog1.setVisible(false);
dialog1.dispose();
}
if(a==0){
dialog1.setVisible(true);
}
}
class DActionListener1 implements ActionListener{
public void actionPerformed(ActionEvent e){
dialog(1);
}
}

建议楼主将dbtn2,即让对话框显示按钮放到另一个Frame中,因为如果放到dialog1中,因为dialog1本身是显示的,dialog1.setVisible(true);没有意义。

D. java关闭当前对话框的语句是什么啊 不是System开头的啊 谢谢指教

this.dispose();

释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。
通过随后对 pack 或 show 的调用重新构造本机资源,可以再次显示 Window 及其子组件。重新创建的 Window 及其子组件的状态在移除 Window 的点上与这些对象的状态将是一样的(不考虑这些操作之间的其他更改)。

阅读全文

与java如何关闭对话框相关的资料

热点内容
文件的存取在哪里 浏览:555
win10密钥激活文件夹 浏览:808
编程软件怎么入门好 浏览:517
保存文件格式为png的软件 浏览:551
css文件包括哪些 浏览:149
linux查看网口路由 浏览:481
怎么传输文件到手机 浏览:796
仪表盘的数据怎么复位 浏览:406
体验编程课从哪里领取 浏览:486
设置64位版本下运行 浏览:47
world文档教程 浏览:584
已经下载了的文件在哪里找 浏览:614
中国如何下载虾皮购物app 浏览:188
javamvc三层模式 浏览:299
美服网络游戏如何登录 浏览:686
建行app交学费怎么找回执单 浏览:209
应聘网络咨询需要哪些优势 浏览:590
尼凯恩怎么关数据流量 浏览:193
苹果手机打开安卓软件闪退怎么回事 浏览:330
破碎黎明2怎么升级快 浏览:545

友情链接