如果获得焦点,如何清空JTextField

时间:2014-10-17 15:00:25

标签: java swing focus jtextfield

我是java GUI的新手,我有2 JTextField' s txtMessage1txtMessage2。我想归档这个:如果一个textfiled有焦点,另一个将被清空,这是可能的以及如何归档吗?

我试过了:

if (txtMessage1.isFocusOwner())
    txtMessage2.setText("");
if (txtMessage2.isFocusOwner())
    txtMessage1.setText("");

但它不起作用,不会抛出任何东西......

2 个答案:

答案 0 :(得分:2)

你需要一个FocusListener,如下所示:

FocusAdapter fl = new FocusAdapter()
{
    public void focusGained (FocusEvent evt)
    {
        if (evt.getSource() == txtField1)
            txtField2.setText("");
        else if (evt.getSource() == txtField2)
            txtField1.setText("");
    }
}
txtField1.addFocusListener(fl);
txtField2.addFocusListener(fl);

答案 1 :(得分:1)

您必须为每个FocusListener定义JTextField或为两者定义一个。

请参阅本页底部的示例: