如何将JOptionPane转换为JDialog

时间:2014-04-06 20:26:17

标签: java swing joptionpane jdialog

我需要将JOptionPage转换为JDialog,因为我需要摆脱那个古怪的" OK"按钮。以下是代码......

JOptionPane.showMessageDialog(null, Interface, caption, JOptionPane.WARNING_MESSAGE, icon);

界面是我的GUI,"标题"是标题,然后我有一条警告信息,然后我有自定义图标。

这对于给定的信息甚至可能是不可能的,但我真的需要摆脱它。任何帮助将不胜感激。

1 个答案:

答案 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或类似的按钮来处理。