2012-06-21 44 views
2

在閱讀完所有對話教程一段時間後,似乎沒有明顯的方法來做到這一點。最接近的東西似乎是JOptionPane.showOptionDialog,但我受限於這裏的optionType參數。如何使用自定義JButton在Java(Swing)中創建JOptionPane.showOptionDialog框?

編輯:我想通了這個問題,但有一個新的。看起來在showOptionDialog中指定的options參數需要相當簡單的對象(字符串或只是「對象」,而不是JButton等)。我試圖在這裏放置一個由工廠自定義創建的JButton的數組,因爲它們有一個我想要使用的特殊的滾動圖標。然而,會發生什麼,點擊這些按鈕中的任何一個都不會導致對話框關閉(因此,對話框中的執行繼續阻止)。所以我在標題中更新了我的問題。

放得更簡潔 - 問題是,如何覆蓋JOptionPane.showOptionDialog(args)以獲得我正在尋找的按鈕定製?或者我甚至需要這樣做?

請和謝謝! -B。

+1

如果三種選擇不足,您可能需要重新考慮這種方法。三鍵對話框對大多數用戶來說已經非常混亂,並且任何其他按鈕都不可能緩解這種情況。如果用戶需要做出複雜的選擇,那麼也許允許他們分多個步驟完成。或者,您可能想要刪除一個或兩個選項(尤其是如果它們影響較小,或者不太可能成爲常用選項)。 – dlev

回答

7

此Java文檔可幫助您創建您自己的對話框,或者定製現有:How To Make Dialogs,如果那不是你想那麼也許創建JDialog,添加必要的組件和按鈕使其可見會做的伎倆什麼:)

+2

@Billy M.在ButtonGroup或更高版本中的JRadiobuttons可能是JComboBox – mKorbel

+0

@David Kroukamp ,感謝David,儘管我不需要徹底改變對話框的工作方式。我只需要爲框中的每個按鈕添加翻轉圖標。 –

+1

@BillyM。 :**「我不需要徹底改變對話框的工作方式。」**,'JDialog'就是這樣工作的,對於使用'JOptionPane'不能達到的附加功能,您可以使用'JDialog' ,這很容易:-) –