Java 使用动态引用调用方法

Java 使用动态引用调用方法,java,reflection,Java,Reflection,我有一个要求,我需要调用一个方法,比如 SlotButtons.poiLabel1.setText(txtname.getText().toString()) 但这里poiLabel1将动态修改。可以将其修改为poiLabel2、poiLabel3或poiLabel4。这个数字是动态的 谁能告诉我如何才能成功。你可以使用阵列 假设您有一个带有按钮的数组: JLabel[]labels=new JLabel[]{ SlotButtons.poiLabel0, SlotButton

我有一个要求,我需要调用一个方法,比如

SlotButtons.poiLabel1.setText(txtname.getText().toString())
但这里poiLabel1将动态修改。可以将其修改为poiLabel2、poiLabel3或poiLabel4。这个数字是动态的


谁能告诉我如何才能成功。

你可以使用阵列

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

JLabel[]labels=new JLabel[]{
    SlotButtons.poiLabel0,
    SlotButtons.poiLabel1,
    SlotButtons.poiLabel2,
    SlotButtons.poiLabel3,
    SlotButtons.poiLabel4,
};
如果您知道索引,则可以使用正确的标签:

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

如果您想在运行时动态更改某些元素的行为,您应该使用。

动态修改“方式”?动态调用SlotButtons.poiLabel2.setText或SlotButtons.poiLabel3.setText,或者…这里可能有数组帮助?或者一个
ArrayList
?在一个方法中使用它,并传递应该反映更改的标签?您需要的是反射。但你需要的是多态性。