【问题标题】:setText for JTextfield from array来自数组的 JTextfield 的 setText
【发布时间】:2015-04-04 23:44:26
【问题描述】:

这里是代码 字符串[] 文本字段 = 新字符串 [8];

int a=600;
    int b=100;
    for (int i=0; i<8; ++i) 
    {
        JTextField f = new JTextField(textfield[i]);
        f.setBounds(a, b, 120, 25);
        b+=30;

        panel.add(f);
        if (i==9) a=300; 
        if (i==9) b=10;

        // Why Not Save Action in loop

    }

现在,.setText("") 在输入 textfield[5] 后不会出现 我想看看:textfield[i].setText("Hello 5");

【问题讨论】:

  • 查看我回答的最后一部分。

标签: for-loop jtextfield settext


【解决方案1】:

因为在您的代码中 textField[i]String 而不是 JTextField

如下修改。

JTextField[] textfield = new JTextFeild[8];
int a=600;
    int b=100;
    for (int i=0; i<8; ++i) 
    {
        textField[i] = new JTextField();
        textField[i].setText("My Text");
        textField[i].setBounds(a, b, 120, 25);
        b+=30;

        panel.add(textField[i]);
        if (i==9) a=300; 
        if (i==9) b=10;

        // Why Not Save Action in loop

    }

要打印JTextField 的文本,您应该使用JTextField.getText() 方法。

print.addActionListener(new ActionListener() { 
    public void      actionPerformed(ActionEvent e) { //  
        System.out.println("Error");     
        ramSlot2.setSelectedIndex(5); 
        String txt =textfield[5].getText();     
        System.out.println(txt); 
}

【讨论】:

    【解决方案2】:

    就这么简单:(当 i==5 时)

    i = 5
    textfield[i] = "Hello ";
    String str = textfield[i] + i;
    f.setText(str);
    

    我认为你的textfield[i](当 i==5 时)没有启动

    【讨论】:

    • print.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // System.out.println("Error"); ramSlot2.setSelectedIndex(5); String txt =textfield[ 5]; System.out.println(txt); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多