java将变量从valuechanged方法传输到actionperformed
我需要将一个变量从valuechanged
方法转移到actionperformed
方法。我需要传输的变量是“index”,因此我可以将其用作数组的索引。谁能告诉我怎么做吗
public class ListHandler implements ListSelectionListener
{
@Override
public void valueChanged(ListSelectionEvent event)
{
if (event.getSource().equals("Check"))
{
int index = material.getSelectedIndex();//VARIABLE NEEDED TO BE TRANSFERED
}
}
}
public class ButtonHandler implements ActionListener
{
@Override
public void actionPerformed(ActionEvent event)
{
v=Double.parseDouble(vtext.getText());
e1=E1(v, v1[index], v2[index]);
e2=E2(v, v1[index], v2[index]);
e1text.setText(Double.toString(e1));
e2text.setText(Double.toString(e2));
}
}
# 1 楼答案
您只需要更改变量的作用域。使其成为实例成员。这就解决了你的问题
到目前为止
index
范围仅限于方法valueChanged()
。因此,将声明移动到实例级别,并在valueChanged()
方法中赋值。因此,您也可以在actionPerformed()
方法中使用相同的index
变量# 2 楼答案
它的设计非常简单
将操作侦听器的代码移动到方法中,如下所示,并传递索引
只需从
编辑
你可以尝试一种非常简单的方法