好的,所以我这里有一个文本框,无论用户输入的是字符串“input1”
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class GMN extends JFrame
{
public static String input1 = "";
JPanel jp1 = new JPanel();
JLabel jl1 = new JLabel();
JLabel jl2 = new JLabel();
JLabel jl3 = new JLabel();
JTextField jt1 = new JTextField(45);
public GMN()
{
String compChoiceText = "Comp Choice:";
String compChoice = compChoiceText+" 0";
String yourChoiceText = "Your Choice: ";
//String inputYou = jt1.getText();
String yourChoice = yourChoiceText + input1;
setTitle("Guess My Number!");
setVisible(true);
setSize(1200, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
jp1.add(jt1);
jl2.setText(compChoice);
jl3.setText(yourChoice);
jt1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
input1 = jt1.getText();
//jl1.setText(input1);
jl3.revalidate();
}
});//ending of actionlistener for textfield
jp1.add(jl3);
jp1.add(jl2);
//jp1.add(jl1);
add(jp1);
System.out.println(jt1.getText());
}
public static void main(String[] args)
{
GMN gmn = new GMN();
System.out.println(gmn.input1);
//String input1 = gmn.input1;
}
}
在此之后我想将它显示为一个标签,但是还需要将它设置为一个字符串,我的整个程序可以使用它,如果有人非常好,有没有办法让它在它获取文本的地方作为int而不是字符串。似乎当我调用字符串input1时,它会调出null,因为它没有读取用户输入的内容,但它在jl1(标签)中不是null,因为它表示用户输入的内容。我不明白为什么jl1可以读取它,但是在actionperformed cant之外的字符串。
我称之为(在actionevent之外)
String yourChoiceText = "Your Choice:";
String yourChoice = yourChoiceText + input1;
答案 0 :(得分:0)
您可以将其保存为类变量:
class myClass{
public static String input1 = ""; <--- EDIT
//Rest of code
}
您可以myClass.input1
访问此内容。对于int值使用:
Integer.parseInt(input1)