Swing/Java:如何正确使用getText和setText字符串

Opo*_*poe 6 java swing jlabel jbutton settext

我试图nameField在点击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);
            }
        });
        }
        }
Run Code Online (Sandbox Code Playgroud)

jzd*_*jzd 6

您在按钮被单击"txt"之前设置标签文本.而是在单击按钮时调用setText()标签并将文本从文本字段传递给它.

例:

label1.setText(nameField.getText()); 
Run Code Online (Sandbox Code Playgroud)