作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
调用 Component.requestFocus() 和手动聚焦某个组件(例如,使用键盘或鼠标聚焦)都会触发 FocusEvent.FOCUS_GAINED。
我正在监听 AWT 事件。
我的问题是:
我怎么知道 FocusEvent.FOCUS_GAINED 事件是通过调用 Component.requestFocus() 还是通过鼠标/键盘手动聚焦它?
最佳答案
当您使用 requestFocus 时,您会尝试将注意力集中在该组件上,但涉及文档
http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#requestFocus()
最好使用 requestFocusInWindow(boolean) http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#requestFocusInWindow(boolean)
<小时/>要检查组件是否获得焦点,您必须实现 FocusListener 并重写以下方法
public void focusGained(FocusEvent e) {
displayMessage("Focus gained", e);
}
public void focusLost(FocusEvent e) {
displayMessage("Focus lost", e);
}
关于java - Component.requestFocus 和手动对焦有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19397494/
我是一名优秀的程序员,十分优秀!