作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用这段代码设计的是,当我在文本字段中输入任何文本,然后点击按钮保存它时。所以我尝试了几种方法,但我无法解决命令提示符显示空白的问题...
当我尝试将源代码放入“main”方法时,它运行良好,正如我所期望的那样。
这是我的源代码:
package test;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
class testListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String s = new TxtField().savedTxt();
System.out.println("ActionPerformed :" + s);
}
}
public class TxtField {
static JTextField jtf;
JFrame jf;
JButton jbtn;
static String temp;
public TxtField() {
jtf = new JTextField(10);
jf = new JFrame("JFrame");
jbtn = new JButton("OK");
jf.add(jtf);
jf.add(jbtn);
jf.setVisible(true);
jf.setSize(300, 300);
jf.setLayout(new GridLayout(2, 0));
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jtf.addActionListener(new testListener());
jbtn.addActionListener(new testListener());
}
public String savedTxt() {
temp = jtf.getText();
System.out.println("Temp is :" + temp);
return temp;
}
public static void main(String[] args) {
new TxtField();
}
}
最佳答案
当调用该操作时,您将创建一个新的 TxtField,而不是引用调用该操作的 TxtField:
String s = new TxtField().savedTxt();
尝试将 TxtField 本身设置为 ActionListener:
public class TxtField implements ActionListener
然后引用当前实例:
jtf.addActionListener(this);
jbtn.addActionListener(this);
然后引用当前实例中的JTextField:
String s = savedTxt();
关于java - 如何从主方法中的文本字段检索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33694945/
我是一名优秀的程序员,十分优秀!