java中弹出的对话框点击关闭(x)按钮不能关闭对话框怎么回事?

java中弹出的对话框点击右上角关闭(x)按钮不能关闭对话框怎么回事?
一下是代码:

public static void main(String[] args) {
JFrame frame=new JFrame();
frame.setVisible(true);
frame.setBounds(300,88,300,300);
Dialog dialog=new Dialog(frame,"对话框",false);
dialog.setBounds(300,80,250,200);
dialog.setVisible(true);
dialog.setResizable(false);
Font font = new Font("",1,30);
dialog.setFont(font);dialog.setLayout(new GridLayout(2,1));
dialog.add(new Label("哥目前只能打开"));
dialog.add(new Label("java和txt文件!"));

第1个回答  推荐于2016-05-13
JFrame frame = new JFrame ();
frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);

或者

frame.addWindowListener (new WindowAdapter()
{
@Override
public void windowClosing ( WindowEvent e )
{
System.exit (0);
}
});


final Dialog dialog = new Dialog(frame,"对话框",false);
dialog.addWindowListener (new WindowAdapter()
{
@Override
public void windowClosing ( WindowEvent e )
{
dialog.dispose ();
}
});

追问

你的这个是窗口的解决方法,不是对话框的,我试过了,不行。楼下的可以。
不过有个问题想问你一下,你怎么可以把你用的软件的背景色都复制过来,又不是图片,还可以选中文字并复制,怎么弄的?求解释。。。。

追答

final Dialog dialog = new Dialog(frame,"对话框",false);
dialog.addWindowListener (new WindowAdapter()
{
@Override
public void windowClosing ( WindowEvent e )
{
dialog.dispose ();
}
});
这个是可以的,你试试

本回答被提问者采纳
第2个回答  2014-03-25
Dialog dialog=new Dialog(frame,"对话框",false);

换成

JDialog dialog=new JDialog(frame,"对话框",false);

试试

追问

谢谢,正解!可是文字却变小了,怎么办?如图:

这哪是30号的字体啊

我想把这个对话框的边框改成其他颜色,怎么改呢?是改边框不是里面区域哦

追答

你想要30号字体,也是给Label设置font而不是给dialog.

还有你的Lable也不是JLabel, 也要改一下.

Font font = new Font("",1,30);
//dialog.setFont(font);
dialog.setLayout(new GridLayout(2,1));
JLabel label1= new JLabel("哥目前只能打开");
JLabel label2 = new JLabel("java和txt文件!");
label1.setFont(font);
dialog.add(label1);
dialog.add(label2);

追问

谢了。不过都是正解,所以我只能把满意答案给一楼么。。。。

追答

只能选择一个满意答案..哥哥..

追问

额。。。知道。只是把“了”打错成“么”了。。。哎你怎么复制就可以把背景色也给复制过来啊?

追答

相似回答