JTextField
このコードは、(とを使用して) swingに変換するプログラムの簡略化されたバージョンですDocumentListener
。私はいくつかのチュートリアルを読みましたが、それを行うことはできません...グローバル変数を使用するべきではなく、元のプログラムではJTextFieldの数が可変であるためgetSource()
(getDocument()
この場合は?)内で生成されるfor
ため、「名前」はありません)。この数は、テキストファイルに書き込まれた値によって異なります。
import java.awt.*;
import java.awt.event.*;
class TestWindow extends Frame {
public TestWindow() {
Panel p = new Panel(new FlowLayout());
Label l = new Label("Temp");
TextField tf1 = new TextField();
TextField tf2 = new TextField();
tf1.addTextListener(new myTextListener(l));
tf2.addTextListener(new myTextListener(l));
p.add(tf1);
p.add(tf2);
tf1.setColumns(10);
tf2.setColumns(10);
p.add(l);
add(p);
pack();
setVisible(true);
}
class myTextListener implements TextListener {
Label input;
myTextListener(Label input) {
this.input = input;
}
public void textValueChanged(TextEvent e) {
input.setText(((TextField)(e.getSource())).getText());
}
}
}
public class Test {
public static void main(String[] args) {
new TestWindow();
}
}