【发布时间】:2020-11-11 23:49:43
【问题描述】:
我正在寻找一个简单的示例来解释如何从文本字段中读取一个简单的值以在我的程序中使用。我看到了很多复杂的例子,很多行,但不幸的是,我还没有找到一个简单的例子来让我明白。我有一个简单的用户界面:一个文本字段和一个按钮。我在文本字段中输入一些内容,然后单击按钮后,我希望程序首先声明的变量“a”具有来自文本字段的值。我写了一个程序,但我得到一个错误消息“来自内部类的局部变量必须是最终的”,请有人帮助我吗?
package arbitru;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Listen1 {
public static void main(String[] args) {
String a; //variable
JFrame f=new JFrame("Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(new Dimension(300,300));
JPanel panou=new JPanel();
panou.setLayout(new FlowLayout());
JLabel leb=new JLabel("Message");
JButton butt=new JButton("Record");
JTextField text=new JTextField(20);
panou.add(leb);
panou.add(text);
panou.add(butt);
butt.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
a=text.getText();
}
});
System.out.println(a);
f.getContentPane().add(panou);
f.setVisible(true);
}
}
【问题讨论】:
-
这个问题的开始是试图把所有东西都塞进
main方法。为它的大部分创建一个构造函数。将a字段设为类属性。 -
“我无法解释为什么?” 添加一个“?”陈述并不能使其成为问题,就像扩展您的问题并不能使其成为答案一样!使用edit 链接(实际问题区域的左下方)进行更新。
标签: java swing compiler-errors jtextfield