怎么把JDialog和JFrame捆绑在一起,弹出JDialog后,不能点JFrame

打开一个JFrame,然后弹出一个JDialog后,就只能对弹出JDialog操作,不能让它再点JFrame上。就是把JDialog置于顶层。给详细点的解说和代码吧。... 打开一个JFrame,然后弹出一个JDialog后,就只能对弹出JDialog操作,不能让它再点JFrame上。就是把JDialog置于顶层。
给详细点的解说和代码吧。
展开
 我来答
杜忆楣03D
2011-09-19 · TA获得超过458个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:393万
展开全部
其实跟Jframe的用法是一样的 :
JDialog d =new JDialog();
newAccountJPanel=new NewAccountJPanel();
d.setTitle("新增账户");
d.add(newAccountJPanel);
d.setModal(true); //这里很重要,modal - 指定 dialog 是否阻止在显示的时候将内容输入其他窗口;
d.pack();
//调整Dialog在显示器的显示位置
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
d.setBounds((screenSize.width-300)/2, (screenSize.height-170)/2, 300, 170);
d.setResizable(false);
d.setVisible(true);
melord
2011-09-19 · TA获得超过367个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:214万
展开全部
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame win = new JFrame();
win.setSize(300, 400);
JButton btn = new JButton("Button");
win.add(btn);
btn.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("click");

}
});
win.setVisible(true);

JOptionPane.showInternalConfirmDialog(win.getContentPane(), "hello");
}
关键在最后一行代码,必须是showInternalXXXX,第一个参数是父窗口容器,这样,就不能再点击父窗口里的控件了。
追问
我是自己定义的JDialog。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式