基本字符串问题

时间:2014-05-22 06:32:31

标签: java string textfield

好的,所以我这里有一个文本框,无论用户输入的是字符串“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;

1 个答案:

答案 0 :(得分:0)

您可以将其保存为类变量:

class myClass{
    public static String input1 = "";   <--- EDIT
    //Rest of code
}

您可以myClass.input1访问此内容。对于int值使用:

Integer.parseInt(input1)