2014-02-22 59 views
1

我想在點擊列表項時更改打開的JOptionPane的圖標屬性。 (他們將相互對應)JOptionPane列表操作

這是否有相當於ActionListener?我知道如何爲按鈕編寫代碼,不幸的是,這些操作並不容易?

JOptionPane.showInputDialog(null, 
    "SELECT A PRIMARY WEAPON FROM THE LIST", 
    "ARMOURY", 
    JOptionPane.OK_CANCEL_OPTION, 
    get.getIcon("shield_and_swords.png"), 
    character.weaponList(), 
    "Absolix Polearm") 
+2

我有點迷路(我不知道你可以在JOptionPane中添加列表,我認爲你可以)。你的意圖能更清楚一點嗎?也許添加代碼也會有所幫助。 – Makoto

+0

您可以通過使用數組對象爲參數啓動列表來向OptionPanes添加列表。 – user3199964

回答

1

這是不可能的。該JOptionPane.showInputDialog文檔指出:

它是由UI決定如何最好的表示selectionValues,但通常的JComboBox,JList或JTextField的將被使用。

這意味着使用的實際GUI元素是實現定義的,因此實際上並不存在訪問它的一般方法,或者它的一致操作接口(它甚至可能不是可單擊的列表框,例如)。基本上,你打電話showInputDialog(),你會得到一個結果,但除此之外,它是一個黑匣子,實際的GUI可以是任何東西 - 沒有保證。

也許你可以想出一些非常髒的對象樹黑客在大多數情況下找到GUI元素,但是......考慮也許是用可預測的GUI創建自己的自定義對話框,您可以控制它。