Java 我已经使用JOptionPane.showOptionDialog显示了一个JDialog,有人能告诉我如何将它设置为不可见或处理它吗?
我显示了这个Java 我已经使用JOptionPane.showOptionDialog显示了一个JDialog,有人能告诉我如何将它设置为不可见或处理它吗?,java,swing,netbeans,joptionpane,Java,Swing,Netbeans,Joptionpane,我显示了这个JDialog,并在上面传递了一个对象,它是JPanel,因此当需要调用时,我的JDialog会在上面显示我的JPanel。 在这个JPanel上,我有一个JButton,按下按钮时,我希望发生一些我在它的ActionListener中写的操作,最后我必须处理JDialog,但我不知道怎么做 这是我的JDialog语句,帮助我从JDialog中删除图标,因为即使保持图标参数为NULL,它也会显示图标 JOptionPane.showOptionDialog(null, "SELECT
JDialog
,并在上面传递了一个对象,它是JPanel
,因此当需要调用时,我的JDialog
会在上面显示我的JPanel
。
在这个JPanel
上,我有一个JButton
,按下按钮时,我希望发生一些我在它的ActionListener
中写的操作,最后我必须处理JDialog
,但我不知道怎么做
这是我的JDialog
语句,帮助我从JDialog
中删除图标,因为即使保持图标参数为NULL,它也会显示图标
JOptionPane.showOptionDialog(null, "SELECT ITEM AND THEN EDIT THE DETAILS.",
"EDIT ITEM DETAILS", int1, int2 , null, objEditMorePane, null);
如果要自己关闭对话框,则需要保留对该对话框的引用。请参见自定义
对话框上的。默认情况下,您正在使用的构造函数也会放入一个图标;如果您创建自己的对话框,您也可以控制该部分。听起来您想将其设置为JOptionPane.PLAIN\u消息。这是您需要放置的内容,而不是int2。我本来想把你和教程联系起来的,但是太空教宗已经这么做了。您不需要创建自定义对话框来更改默认图标,只需将消息类型更改为普通消息即可。本教程涵盖了所有这些内容。当其值
属性更改时,JopOptions窗格将关闭其对话框。因此,您可以获取父JOptionPane并设置其值以关闭窗口:
JOptionPane optionPane = (JOptionPane)
SwingUtilities.getAncestorOfClass(JOptionPane.class, button);
optionPane.setValue(JOptionPane.CLOSED_OPTION);
如果窗口不是由JOptionPane创建的,则可以使用JComponent的GetToLevel
方法来获取父窗口:
Window window = (Window) button.getTopLevelAncestor();
window.dispose();
嘿,伙计,你的JOptionPane.PLAIN_消息真的解决了我的图标问题!如果你能帮我设置一个引用,这样我就可以在按钮的动作中处理/设置它不可见。你能在这里举个小例子吗,我不知道在这里用什么作为引用!!