0

我已经显示了这个JDialog,并且已经传递了一个对象,它是一个对象JPanel,因此我在根据需要调用时JDialog显示我的对象。JPanel在此JPanel我有一个JButton,在按下时我希望发生一些我已经写在其中的操作,ActionListener最后我必须处理它JDialog,但我不知道该怎么做!

这是我的JDialog声明,并帮助我了解如何删除图标,JDialog因为即使在保持 ICON PARAMETER NULL 之后它也会显示 ICON。

JOptionPane.showOptionDialog(null, "SELECT ITEM AND THEN EDIT THE DETAILS.", 
    "EDIT ITEM DETAILS", int1, int2 , null, objEditMorePane, null);
4

3 回答 3

1

如果您想自己关闭对话框,则需要保留对对话框的引用。请参阅关于 custom的Oracle 教程Dialog。默认情况下,您使用的构造函数也会放入一个图标;如果您制作自己的对话,您也可以控制该部分。

于 2013-10-19T03:18:30.853 回答
1

听起来您想让它成为 JOptionPane.PLAIN_MESSAGE。这就是您需要放置的内容,而不是 int2 的内容。我打算将您链接到教程,但 Space Pope 已经这样做了。您无需创建自定义对话框来更改默认图标,只需将消息类型更改为纯消息即可。本教程涵盖了所有这些内容。

于 2013-10-19T03:23:29.057 回答
0

valueJOptionPane 在其属性更改时关闭其对话框。因此,您可以获取父 JOptionPane 并设置其值以关闭窗口:

JOptionPane optionPane = (JOptionPane)
    SwingUtilities.getAncestorOfClass(JOptionPane.class, button);
optionPane.setValue(JOptionPane.CLOSED_OPTION);

如果窗口不是由 JOptionPane 创建的,可以使用getTopLevelAncestorJComponent 的方法获取父窗口:

Window window = (Window) button.getTopLevelAncestor();
window.dispose();
于 2013-10-19T18:13:19.703 回答