2014-10-20 49 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