MyFrame
我在课堂上的变量有问题。我想在MyFrame
类中有一个在组合框侦听器中定义的变量的值。
这是我的情况:我有一个带有一些朋友名字的组合框。我已经在组合框中放置了一个侦听器,该组合框必须返回所选朋友的姓氏。我想surname
在类的命令中插入值MyFrame
,但是有一些问题:一旦设置surname
为final
(因为它必须在监听器中使用),我有一个错误说:
The final local variable surname cannot be assigned, since it is defined in an enclosing type
.
什么是(或是)问题?在这里我发布我的代码:
public class MyFrame extends {
public static void main (String[] args)
{
//other
String [] names = {"john","al","jack"};
final String surname=null;
JLabel nameLbl = new JLabel("surname: " + surname);
JComboBox box = new JComboBox(names);
JPanel centralPnl = new JPanel();
centralPnl.add(nameLbl);
centralPnl.add(box);
box.addItemListener(new ItemListener()
{
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED)
{
// Here operations from database
//that return friends' surname under the variable name of "result"
surname = result;
}
}
});
}
}