gpt4 book ai didi

java - 如何从主方法中的文本字段检索文本

转载 作者:行者123 更新时间:2023-12-01 18:10:05 25 4
gpt4 key购买 nike

我想用这段代码设计的是,当我在文本字段中输入任何文本,然后点击按钮保存它时。所以我尝试了几种方法,但我无法解决命令提示符显示空白的问题...

当我尝试将源代码放入“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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com