JOptionPane列表操作

时间:2014-02-22 21:42:15

标签: java 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")

1 个答案:

答案 0 :(得分:1)

这是不可能的。 JOptionPane.showInputDialog文档声明:

  

由UI决定如何最好地表示selectionValues,但通常会使用JComboBox,JList或JTextField。

这意味着所使用的实际GUI元素是实现定义的,因此实际上并不存在访问它的一般方法,或者它的一致动作接口(例如,它甚至可能不是可点击的列表框) 。基本上,你调用showInputDialog()然后你得到一个结果,但除此之外它是一个黑盒子,实际的GUI可以是任何东西 - 没有保证。

在大多数情况下,也许你可能会想出一些非常脏的对象树黑客来找到GUI元素,但是......考虑创建一个你可以控制的可预测GUI的自定义对话框。