使用JDialog来创建自定义对话框,该对话框可以被非模态化,以允许用户继续操作程序,而不必等待对话框关闭。
时间: 2023-05-29 19:06:59 浏览: 79
下面是一个使用JDialog来创建自定义对话框的例子:
```java
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CustomDialog extends JDialog {
private boolean dialogResult = false;
public CustomDialog(JFrame parent, String title, String message) {
super(parent, title, true);
JPanel messagePanel = new JPanel();
messagePanel.add(new JLabel(message));
JPanel buttonPanel = new JPanel();
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialogResult = true;
setVisible(false);
}
});
buttonPanel.add(okButton);
getContentPane().add(messagePanel, BorderLayout.CENTER);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
setPreferredSize(new Dimension(300, 100));
pack();
setLocationRelativeTo(parent);
}
public boolean showDialog() {
setVisible(true);
return dialogResult;
}
}
```
这个例子创建了一个自定义对话框,包含一个消息和一个OK按钮。当用户点击OK按钮时,对话框将被隐藏,并返回true结果。要创建并显示这个对话框,可以使用以下代码:
```java
CustomDialog dialog = new CustomDialog(parentFrame, "Custom Dialog", "Hello, World!");
dialog.setModal(false);
dialog.showDialog();
```
这将创建一个自定义对话框,并将其设置为非模态化。然后,对话框将被显示,并允许用户继续操作程序。当用户点击OK按钮时,对话框将被隐藏,并返回true结果。
阅读全文