[英]How to SetText in JTextField when Another JTextField get data from ResultSet?
Table: 表:
Name | Gender |
--------------------------
John | Man |
Jennifer | Woman |
Jack | Man |
When JTextField1
setText 'Jhon' then JTextField2
Automatically SetText Men etc. 当JTextField1
setText'Jhon'时, JTextField2
自动SetText Men等。
Help me plis. 请帮我。
You need to use DocumentListener
for that purposes. 为此,您需要使用DocumentListener
。 Examine next simple example: 检查下一个简单的例子:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
public class Example {
public static void main(String ... s){
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField field1 = new JTextField(5);
final JTextField field2 = new JTextField(5);
field1.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
validate(e);
}
@Override
public void insertUpdate(DocumentEvent e) {
validate(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
validate(e);
}
private void validate(DocumentEvent e) {
try {
String text = e.getDocument().getText(0, e.getDocument().getLength());
if(text.equals("Jhon")){
field2.setText("Men");
} else {
field2.setText("");
}
} catch (BadLocationException e1) {
e1.printStackTrace();
}
}
});
f.add(field1,BorderLayout.WEST);
f.add(field2,BorderLayout.EAST);
f.pack();
f.setVisible(true);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.