2014-06-20 16 views
1

我使用JOptionPane.showConfirmDialog()來創建一個窗口,在那裏我問,如果用戶真的想關閉程序。我不想爲這個窗口創建一個新的JDialog,可能在一個新的類中,這可能太複雜了。可以使用JLabel作爲來自JOptionPane的showConfirmDialog中的背景嗎?

因爲我經常使用保存爲JLabel的png圖片作爲打開窗口的背景,我想問一下,如果有可能使用JLabel保存的png圖片作爲showconfirmDialog的背景嗎?或者是否還有其他可能性來更改已打開的confirmDialog-Window的值,如Background-Color等?

+1

通常當程序員想要一個組件類似於'JOptionPane'的東西時,使用'JDialog'創建它實際上會更容易。更改'JOptionPane'的功能/外觀是PITA。至於BG顏色,請改變PLAF。 –

回答

1

的的JavaDoc(http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html)表示:

消息

的描述消息被放置在該對話框。在最常見的用法中,消息只是一個String或String常量。但是, 這個參數的類型實際上是Object。其解釋 取決於其類型:

...

Component 
    The Component is displayed in the dialog. 

所以消息可以是任何組件,如一個JLabel。你甚至可以添加一個更復雜佈局的JPanel。

+0

+1的信息輸入:-)一個相關的[示例](http://stackoverflow.com/a/12235299/1057230)和[另一個](http://stackoverflow.com/a/17783405/1057230)爲一個快速參考:-) –

+0

謝謝..這解決了我的問題 – user3133542