【问题标题】:Basic String Issue基本字符串问题
【发布时间】: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 中,因为那是您要设置的时候?
  • 我试过这样做,但值保持空白,就像它没有读取它一样

标签: java string textfield


【解决方案1】:

你可以像这样将它保存为类变量:

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

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

Integer.parseInt(input1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-03
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多