【发布时间】:2014-05-22 06:32:30
【问题描述】:
好的,这里我有一个文本框,无论用户输入什么都是字符串“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;
【问题讨论】:
-
Integer.parseInt(String s) -
使用 jl1.getText();检索输入..或在某处使用静态变量来保存值。
-
您想将“Your Choice:”作为整数?我不会推荐 Integer.parseInt ,因为那个 String 不是数值。要将其设置在标签中,为什么不将其放在 actionPerformed 中,因为那是您要设置的时候?
-
我试过这样做,但值保持空白,就像它没有读取它一样