如何在 Java 中建立無模態和模態 JDialog?
MODELESS 型別
以下是一個使用模態型別 MODELESS 設定 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.MODELESS);
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);
}
}輸出

現在,點選它以生成一個新的 Dailog。由於它是 Modeless,因此你可以隨時關閉兩個對話方塊 −

模態對話方塊
以下是一個模態對話方塊的示例 −
示例
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);
}
}輸出

現在,點選它以生成一個新的 Dailog。由於它不是 Modeless,因此你不能在任何時候關閉兩個對話方塊。你必須先關閉新對話方塊,然後你才能關閉第一個對話方塊 −

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP