我正在尝试输入 nameField 出现在a Label 被称为 label1 后一 Button 被称为 button1 被点击。现在它说:'txt',我明白为什么。但我也不知道我怎么能用这个字符串!任何人都可以解释我做错了什么,以及如何正确使用这个字符串?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class thisismytest2 {
    public static void main(String[] args) {

        final JFrame frame = new JFrame();  
        JPanel panel = new JPanel();    
        JTextField nameField = new JTextField("...", 2);    
        JButton button1 = new JButton();
        final JLabel label1 = new JLabel();
        label1.setText("txt");
        label1.setVisible(false);
        String txt = nameField.getText();

        frame.add(panel);
        panel.add(button1);
        panel.add(label1);
        frame.setSize(200,200);
        frame.setVisible(true);
        panel.add(nameField);
        frame.setSize(600,400); 
        nameField.setBounds(400, 40, 400, 30);

        button1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {

                label1.setVisible(true);
            }
        });
        }
        }
有帮助吗?

解决方案

您正在设置标签文本之前,按钮被点击到"txt"。相反,当按钮被点击调用 setText() 在标签上,并从文本字段传递文本。

例子::

label1.setText(nameField.getText()); 

其他提示

在您的action performed方法中,调用:

label1.setText(nameField.getText());

这样,当单击按钮时,label将更新为nameField文本。

getText 方法返回一个字符串,而 setText 接收一个字符串,所以你可以这样写 label1.setText(nameField.getText()); 在你的听众。

在nameField上设置DocumentListener。更新nameField时,更新您的标签。

http://download.oracle.com/javase/1.5.0/docs/api/javax/swing/JTextField.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top