gpt4 book ai didi

Java:将 TextField 保存到另一个类中使用的字符串

转载 作者:行者123 更新时间:2023-12-01 09:40:09 24 4
gpt4 key购买 nike

public  void actionPerformed(ActionEvent e) {
s = tf1[0].getText();
}

我想将从 tf1[0].getText(); 获取的文本输入保存到 String s 并调用 s我的 main 或在另一个类中,但我得到的是 null 。有没有办法在另一个类中调用s

这是代码的其余部分:

public class GUI {

static String s;
public static void gui(){

{
try{
String File_Name="C:/Users/Ray/Desktop/test.txt";
ReadFile rf=new ReadFile(File_Name);
JFrame f1=new JFrame("Maintest");
JPanel p1=new JPanel();
JPanel p2=new JPanel();
final String[] aryLines=rf.OpenFile();
final JTextField tf1[];
tf1=new JTextField[22];
JButton []b1=new JButton[6];
String bNames="OK";
final JTextField tf2[]=new JTextField[aryLines.length];
f1.setSize(200,450);


JLabel l1[]=new JLabel[20];

for ( int i=0; i < aryLines.length; i++ )
{
b1[i]=new JButton(bNames);
l1[i]=new JLabel("Enter Serial# for "+ aryLines[i]);

p1.add(l1[i]);p1.add(tf1[i] = new JTextField());p1.add(b1[i]);
}


p1.setLayout(new BoxLayout(p1,BoxLayout.PAGE_AXIS));

f1.add(p1,BorderLayout.WEST);



b1[0].addActionListener(new ActionListener(){
private String s2;

public void actionPerformed(ActionEvent e)
{

s=tf1[0].getText();
System.out.print(s);

}


});

f1.show();
}

catch(Exception e)
{
System.out.print(e);
}

}
}


}

最佳答案

对此有几个解决方案。您可以将“s”设置为基于类的变量,可以从对象实例中检索该变量,如下所示:

public String getS(){
return this.s;
}

这里:

public  void actionPerformed(ActionEvent e) {
this.s = tf1[0].getText();
}

然后在需要 s 的其他类中,您应该实例化包含 s 的类并调用:

String s2 = instantiatedObject.getS();

如果你觉得有点冒险,你可以将“s”设置为静态变量,并且可以在实例化包含“s”的类的任何地方调用它:

String s2 = instantiatedObject.s;

关于Java:将 TextField 保存到另一个类中使用的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38526914/

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