我有一个静态方法,我希望从JTextField
返回一个字符串。我希望它像Scanner
' s nextLong()
一样,当调用该方法时,程序的其余部分会一直停止输入。这是我的代码,我尝试了如何做到这一点。
String y;
JTextField a = new JTextField(7);
a.setFont(silkScreen);
a.setForeground(Color.white);
a.setBackground(Color.black);
a.setAlignmentX(JTextField.CENTER_ALIGNMENT);
a.setBorder(javax.swing.BorderFactory.createEmptyBorder());
a.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
if (a.getText().length() >= 9) { // limit textfield to 9 characters
e.consume();
}
}
});
a.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
y = a.getText();
}
});
panel.add(a);
frame.add(panel);
frame.pack();
frame.setSize(640 / 2, 480 / 2);
frame.setVisible(true);
return y;
但是,Java吐出了这个错误:
在封闭范围内定义的局部变量y必须是final或 有效的最终