JDialog上的.setModal()方法

时间:2015-03-18 13:31:27

标签: java focus jdialog

我想让i在子窗口处于活动状态时无法访问父窗口。我正在使用JDialog类的.setModal()方法,但它似乎没有工作。

   if (clickEvent.getSource().equals(addCheckout1)){

        SupermarketCheckoutGUI checkout1 = new SupermarketCheckoutGUI();
        checkout1.setVisible(true);
        checkout1.setSize(670, 400);

        checkout1.setModal(false);
    }

只是为了检查,我已经尝试了真假,但没有变化。

2 个答案:

答案 0 :(得分:0)

来自docs

  

注意:更改可见对话框的模态可能无效,直到它被隐藏然后再次显示。

尝试在setModal(true)之前调用setVisible

但我们已弃用setModal,您应该拨打setModalityType(您需要的类型可能是APPLICATION_MODAL),请查看tutorial

答案 1 :(得分:0)

尝试

GP = new JDialog(f,"Game Over",Dialog.ModalityType.DOCUMENT_MODAL);