Swing / Java:GetTextと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);
}
});
}
}
. 解決
ボタンをクリックする前にラベルテキストを設定しています。その代わりに、ボタンをクリックしたときにラベルのsetText()
を呼び出し、テキストフィールドからテキストを渡します。
例:
label1.setText(nameField.getText());
. 他のヒント
アクションで実行されたメソッド、呼び出し:
label1.setText(nameField.getText());
.
このように、ボタンをクリックすると、ラベルは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