繁体   English   中英

当另一个JTextField从ResultSet获取数据时,如何在JTextField中设置SetText?

[英]How to SetText in JTextField when Another JTextField get data from ResultSet?

表:

Name       | Gender      |
--------------------------
John       | Man         |

Jennifer   | Woman       |

Jack       | Man         |

JTextField1 setText'Jhon'时, JTextField2自动SetText Men等。

请帮我。

为此,您需要使用DocumentListener 检查下一个简单的例子:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM