使用FocusListener从JTextField检索内容并填充其他JTextField

时间:2019-01-01 05:31:31

标签: jtextfield focuslistener

我的窗口中有许多组件,其中大多数是JTextFields。为了节省用户输入数据的时间,我尝试在填充时解析第一个JTextField的内容,并将建议的值放入后续的JTextField中。

我在第一个JTextField中添加了一个FocusListener,然后在focusLost()中检索其内容,然后设置后续JTextField的内容。第一次使用该应用程序时,此方法可以正常工作。但是,在后续任务中(即在处理完所有数据并清除字段之后),通常(但并非总是)失败。由于焦点问题,调试很困难,因此我改用日志记录,可以看到在失败的情况下,第一个JTextField的getText()方法返回null。这一定是时间问题,但我看不到解决方法。

focusLost()方法开始...

@Override
public void focusLost(FocusEvent e) {
    // On losing focus of the title field attempt to populate all the other
    // resource detail fields
    Component rawComponent = e.getComponent();
    if (this.resourceTitleTextField == rawComponent) {

        JTextField component = (JTextField) rawComponent;
        String title = component.getText();
        LOGGER.info("title = " + title);

0 个答案:

没有答案