java - 如何失去textField onClick的焦点

标签 java swing focus jtextfield

单击日历窗口时如何失去 JFormattedTextfield 的焦点

private void dateTxtFocusGained(java.awt.event.FocusEvent evt) {
    // TODO add your handling code here:
    PickDate ex=new PickDate();       
    // dateTxt.setText(Helper.pickDate.toString());
}

...

private class MyDateListener implements DateListener
{
    public void dateChanged(DateEvent e)
    {
        Calendar c = e.getSelectedDate();
        if (c != null) {        
            formatTxt.setText(c.getTime()); 
            PickDate.this.dispose(); // pickdate is nothing but JFrame in which calender shows 
        }
        else {
            System.out.println("No time selected.");
        }
    }
}

最佳答案

我过去使用过的一个技巧是切换组件的可聚焦性。在您的 onClick 事件中:

//we just want to lose current caret focus
//but still have textfield be focusable
dateTxt.setFocusable(false);
dateTxt.setFocusable(true);

关于java - 如何失去textField onClick的焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727723/

相关文章:

java - 如何用JTable打开一个窗口并关闭另一个窗口

java - 如何在Siena和GAE中定义一对多关系?

java - Appium:连接到 127.0.0.1:4723 [/127.0.0.1] 失败:连接被拒绝:连接

javascript - 为什么 Firefox 会失去对页面重新加载的关注?

如果不是正文元素,Android 无法正确滚动输入焦点

android - 在 RecyclerView 中获取 EditText 的焦点

java - Android中读取NFC Tag和调用Webservice的方法

java - 如何初始化JavaFX工具包?

java - 在 gui less linux os 中运行 JFrame

java - 在swing中拖动对象,MouseMotionListener是在对象中还是在JPanel中?