Swing / Java:如何正确使用getText和setText字符串
在点击一个名为button1
的Button
后,我正在尝试使输入nameField
出现在名为label1
的Label
。 现在它说:’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());
在你的动作执行方法中,调用:
label1.setText(nameField.getText());
这样,单击按钮时,label将更新为nameField文本。
getText
方法返回一个String,而setText
接收一个String,所以你可以像label1.setText(nameField.getText());
在你的听众中
在nameField上设置DocumentListener。 更新nameField时,请更新标签。
http://download.oracle.com/javase/1.5.0/docs/api/javax/swing/JTextField.html