【发布时间】:2022-01-24 01:53:27
【问题描述】:
我想从 JPanel 创建一个对话框,我遇到的问题是 Dialog 类和 JOptionPane 类是我读到的关于使用模板的主要对话框类(一个例子是你的“文本”,然后取消和确认按钮)。我想创建一个包含我的 JPanel 的自定义对话框。我本质上想在屏幕上显示整个 JPanel,而不需要制作新的 JFrame 或重用现有的。
谢谢!
【问题讨论】:
-
如果您不想使用顶级容器,您可以考虑使用 CardLayout:docs.oracle.com/javase/tutorial/uiswing/layout/card.html,其中您的对话框是其中一张卡片,而您
show该卡片当对话框应该是可见的。 -
创建一个工厂类来满足您的需求 - 如果您愿意深入研究,JOptionPane 会非常灵活
-
@MadProgrammer 我尝试使用 JOptionPane 执行此操作,但我的 JPanel 不适合对话框 gui。即使我调整它的大小,它也会放在屏幕底部,你甚至看不到它。我想我想要的是 JFileChooser 对话框之类的东西。
-
JDialog是顶级容器,就像JFrame。您将一个或多个JPanels添加到默认BorderLayout。当您创建自己的JDialog时,您有责任创建您需要的任何JButtons,