JDialog 设置为应用程序模式后会发生什么?


JDialog Modal 类型 APPLICATION_MODAL 阻止所有顶级窗口,并对它有约束。以下是一个使用应用程序模式设置 JDialog 的示例

示例

import java.awt.Cursor;
import java.awt.Dialog.ModalityType;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class SwingDemo {
   public static void main(String[] args) {
      JFrame frame = new JFrame();
      frame.setSize(new Dimension(600, 400));
      JDialog dialog = new JDialog(frame, "New",ModalityType.APPLICATION_MODAL);
      dialog.setSize(300, 300);
      frame.add(new JButton(new AbstractAction("Click to generate") {
         @Override
         public void actionPerformed(ActionEvent e) {
            frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            dialog.setVisible(true);
         }
      }));
      frame.setVisible(true);
   }
}

输出

现在,点击它生成一个新的对话框。由于它不是无模式,因此你不能同时关闭两个对话框。你必须先关闭新的对话框,然后你才能关闭第一个对话框:


更新日期: 30-7-2019

236 次浏览

开启你的 职业

完成课程以获得认证

开始学习
广告