使用动态引用调用方法

时间:2014-12-15 18:08:22

标签: java reflection

我有一个要求,我需要调用类似

的方法
SlotButtons.poiLabel1.setText(txtname.getText().toString())

但是这里poiLabel1将动态修改。它可以修改为poiLabel2或poiLabel3或poiLabel4。这个数字是动态的。

有人能建议我怎么能成功。

2 个答案:

答案 0 :(得分:3)

您可以使用数组。

假设您有一个带按钮的数组:

JLabel[]labels=new JLabel[]{
    SlotButtons.poiLabel0,
    SlotButtons.poiLabel1,
    SlotButtons.poiLabel2,
    SlotButtons.poiLabel3,
    SlotButtons.poiLabel4,
};

如果您知道索引,则可以使用正确的标签:

labels[yourIndex].setText(txtname.getText().toString())

答案 1 :(得分:0)

如果要在运行时动态更改某个元素的行为,则应使用Strategy design pattern