我正在尝试将匿名 actionListener 添加到 JCheckBox 中,但在访问要更新值的对象时遇到了一些困难。我不断收到关于非最终版本的错误,然后当我将它们更改为最终版本时,它会抱怨其他事情。
我试图做的是下面(我删除了一些 gui 代码以使其更易于阅读):
for (FunctionDataObject fdo : wdo.getFunctionDataList())
{
JLabel inputTypesLabel = new JLabel("Input Types: ");
inputsBox.add(inputTypesLabel);
for (int i = 0; i < fdo.getNumberOfInputs(); i++)
{
JLabel inputLabel = new JLabel(fdo.getInputNames().get(i));
JComboBox inputTypeComboBox = new JComboBox(getTypes());
inputTypeComboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
fdo.getInputTypes().set(i, (String) inputTypeComboBox.getSelectedItem());
}
});
}
}