Swing/Java:如何正确使用getText和setText字符串
题
我正在尝试输入 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
不隶属于 StackOverflow