我需要将JOptionPage转换为JDialog,因为我需要摆脱那个古怪的" OK"按钮。以下是代码......
JOptionPane.showMessageDialog(null, Interface, caption, JOptionPane.WARNING_MESSAGE, icon);
界面是我的GUI,"标题"是标题,然后我有一条警告信息,然后我有自定义图标。
这对于给定的信息甚至可能是不可能的,但我真的需要摆脱它。任何帮助将不胜感激。
答案 0 :(得分:5)
为什么不简单地创建一个JDialog并将您的接口对象放入其contentPane中,然后打包并显示它。简单。
你说:
显然,JOptionPane很小,但要做一个JDialog,我必须创建一个Window和更多东西。 GUI已经创建,我可以简单地将其导入到JOptionPane中。我相信,不能为JDialog做到这一点。
我很困惑。你是什么意思" GUI"?同样,如果它是JPanel,再次,只需将它放入JDialog。
例如,如果在ActionListener中
public void actionPerformed(ActionEvent e) {
// assuming this is being called from within a JFrame named myFrame
JDialog dialog = new JDialog(myFrame, "Dialog Title", ModalityType.APPLICATION_MODAL);
dialog.getContentPane().add(interface);
dialog.pack();
dialog.setLocationRelativeTo(myFrame);
dialog.setVisible(true);
}
另一种选择是使用JOptionPane构造函数,并在不显示的情况下创建它,然后将其转换为JDialog,因为JOptionPane API会向您显示如何操作,但您仍可以使用OK或类似的按钮来处理。