[英]create a custom dialog from a JPanel
我想从 JPanel 创建一个对话框,我遇到的问题是 Dialog class 和 JOptionPane class 这是我读到的关于使用模板的主要对话框类(一个例子是你的“文本”,然后是取消和确认按钮)。 我想创建一个包含我的 JPanel 的自定义对话框。 我基本上想在屏幕上显示整个 JPanel,而不需要制作新的 JFrame 或重用现有的。
谢谢!
在大多数情况下, JOptionPane
非常灵活,例如,从简单的东西开始......
import java.awt.GridBagLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
setBorder(new EmptyBorder(32, 32, 32, 32));
JLabel label = new JLabel("Hello world");
label.setFont(label.getFont().deriveFont(32f));
add(label);
}
}
我可以...
JOptionPane.showMessageDialog(null, new TestPane());
啊,但是等等,你可能不想要这个图标,所以你可以做类似的事情......
JOptionPane.showMessageDialog(null, new TestPane(), "Hello", JOptionPane.PLAIN_MESSAGE);
...您是什么意思,您想要自定义选项?,好吧, JOptionPane
也可以处理...
String[] options = new String[]{
"options",
"your",
"are",
"These"
};
int result = JOptionPane.showOptionDialog(null, new TestPane(), "Hello", JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[3]);
if (result >= 0) {
System.out.println(options[result]);
}
现在,只要稍加思考和努力,您还可以:
JOptionPane
(以及另一个示例) JOptionPane
是一个不错的选择,但它不是您拥有的唯一选择。 您可以推出自己的“工厂”(如JOptionPane
),它完成了构建JDialog
、生成按钮/选项和处理用户输入(在这些操作上)的所有繁重工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.