请问JFrame能够实现对话框的模态功能么?即执行当前窗体不能进行其他的操作

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【kiver149】截止到2008-07-17 00:19:31的历史汇总数据(不包括此帖):
    发帖的总数量:5                        发帖的总分数:140                      每贴平均分数:28                       
    回帖的总数量:9                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:5                        结贴的总分数:140                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    可以,JFrame为当前窗体,发生特定事件时弹出你需要的模态对话框,使用JDialog,在其构造方法中可以指定是否为模态,调用其setVisible方法让它显示。具体内容参考文档。
      

  3.   

    能不能需要弹出对话框让JFrame本身具有这样的功能
      

  4.   

    我不明白什么叫本身有这样的功能。
    你在frame中需要的时候,比如用户点了按钮或者执行了什么操作,你在事件处理中直接使用JDialog或者自己派生的新类不很方便吗?
      

  5.   

    简单例子:
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;public class Test {    public static void main(String[] args) {
            new MyFrame("Test");
        }
    }class MyFrame extends JFrame {    public MyFrame(String title) {        super(title);
            JButton button = new JButton("press");
            button.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {
                    JDialog dialog = new JDialog(MyFrame.this, "dialog", JDialog.DEFAULT_MODALITY_TYPE);
                    dialog.setSize(200,200);
                    dialog.setVisible(true);
                }
            });
            button.setBounds(50, 50, 100, 100);
            getContentPane().setLayout(null);
            getContentPane().add(button);
            setSize(300, 400);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    }
      

  6.   

    比如说我有一个主界面在主界面中添加了JMenuBar,每一个JMenuItem都实现了一个JFrame窗口。。
    就是我点击JMenuItem以后打开一个JFrame.我想实现的效果是必须关闭当前打开的JFrame才能从JMenuItem中打开新的JFrame
      

  7.   


    这种情况下,JMenuItem打开JDialog好了
      

  8.   

    这个不是我已经做成JFrame了么
    所以想问问有没有别的途径实现这个JDialog的效果