2014-10-20 48 views
0

假设我有一个class MyDialogClass extends JDialog,我在我的应用程序中随处使用它,以便实现对话框的某些特定行为。现在,我也想享受JOptionPane实用程序的好处,并致电showXxxDialog查看消息/错误等,但我仍希望底层对话框的行为如同MyDialogClass实例。JOptionPane - 我自己的JDialog子类的显示对话框

是否有可能实现(预先没有深度复制JOptionPane的来源)?

编辑:

具体的行为我想是acheive设置对话框alwaysOnToptrue。我会尝试@安德鲁的这个问题的解决方案。但是,这只是我目前遇到的问题,而不是MyDialogClass中唯一的扩展行为。因此,对于每一个问题都可能有这样的“解决方法”,但我故意寻找一个概念上的解决方案,这就是我原来的问题的原因。

[例如 - MyDialogClass也registeres一个WindowListener到它的情况下,在构造]

+1

*“..我的对话框的某些特定行为。”* ..您从来没有想到,提及所需的特定行为可能很方便吗? – 2014-10-20 11:28:01

+1

可能的[XY问题](http://meta.stackexchange.com/a/66378)? – dic19 2014-10-20 13:37:21

回答

0

我不知道你真正想要的..你想使用的JOptionPane对话,但使用的是自己JPanel的?你尝试:

Object[] options = { "Yes", "No", "Cancel" }; 
JOptionPane.showOptionDialog(JFrame, YOURPANEL, "Information", 
     JOptionPane.YES_NO_CANCEL_OPTION, 
     JOptionPane.QUESTION_MESSAGE, null, options, options[2]); 
+0

我想要更多然后我自己的面板,我想要我自己的对话类。例如:'JOptionPane.showOptionDialog(JFrame,MyDialogClass.class,“Information”, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,null,options,options [2]);' 我真的试图做的,在这种情况下,调用对话框的'setAlwaysOnTop(true)'。 – Elist 2014-10-20 11:11:42

+1

*“正在调用对话框的'setAlwaysOnTop(true)。”*解决方案是提供始终位于顶部的父组件。 – 2014-10-20 11:25:46