问题标签 [focusmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JLabel 不应该能够接收焦点.. 但它可以吗?
我正在开发一个使用默认 Swing 方法来处理焦点的 Swing 应用程序。焦点没有像我预期的那样工作。
在一种情况下,我有一个称为 .requestFocusInWindow() 的 JTextField 当显示窗口时,JLabel 具有焦点
JLabel 的 Java 6 文档说“因此,它无法获得键盘焦点”。 http://docs.oracle.com/javase/6/docs/api/javax/swing/JLabel.html
但是,我有一个示例应用程序,它显示 JLabel 接收焦点,并且 KeyboardFocusManager.getFocusOwner() 返回该组件。(http://github.com/akinsgre/swingStarter)
该类的代码是https://raw.github.com/akinsgre/swingStarter/master/src/main/java/test/HelloWorldSwing.java
任何人都可以帮助我理解或解释我所缺少的吗?
wpf - 单击时,MainWindow 从浮动窗口中窃取键盘焦点
我在关注 WPF 时遇到了一些问题。尽管专注是一个常见问题,但我找不到适合我的问题的解决方案。情况如下:
我有一个编辑器软件,我可以在其中拖动文档浮动(如在 Visual Studio 中)。保存按钮显示在托管所有编辑器文档的窗格上方的主窗口中。现在我想做的是让一个窗口浮动,另一个窗口停靠在文档窗格中。当我想在主应用程序中按下保存按钮时,它会从我的浮动窗口中窃取焦点并自动将文档聚焦在文档窗格中,即使我直接单击按钮,单击也不会执行任何其他操作。
当有浮动窗口时,如何防止我的应用程序接收键盘焦点?因为我想将浮动窗口保留为我的活动窗口,但仍然可以访问保存按钮或主应用程序的菜单?
任何帮助将不胜感激!
java - 通过 editCellAt(row,col) 在单元格上强制编辑时,JTable 单元格不会触发键事件
下面是我的代码片段。我有一个 JTable。我扩展了 DefaultCellEditor 以创建自己的编辑器。我为单元格添加了键侦听器和鼠标侦听器。我也有一个 JButton。当我单击 JButton 时,我希望 JTable 中的第一个单元格进入编辑模式。为此,我使用了 requestFocus 和 editCellAt(0,0)。我已将此代码放入执行的操作中。
这会将光标放在第一个单元格中。但是当我输入任何内容时,不会触发关键事件!注意:如果我用鼠标单击单元格然后键入,它会触发键事件。但我不想做这个额外的点击。
java - 使用 TAB 将焦点更改到 JTable 中的下一个组件
JTable 的默认行为是将焦点更改为下一个单元格,我想强制它在按下 TAB 键时将焦点移动到下一个组件(例如 JTextField)。
我重写了始终返回 false isCellEditable
的方法:DefaultTableModel
但它仍然不会将焦点转移到下一个组件!
我应该如何JTable
将焦点更改为下一个组件而不是下一个单元格?
java - JTable 不会失去对 ENTER 和 TAB 的关注
像上面那样设置单元格选择后,单元格被选中,如果我在单元格中输入值,则单元格进入编辑模式。但是,输入值后,如果我按 ENTER 或 TAB 键,则单元格仍处于编辑模式。如果我按下其他组件上的某个位置,则只有单元格关闭编辑器模式。
如何解决这个问题?
actionscript-3 - Flex FocusManager - 在多版本应用程序中按 Tab 导致堆栈溢出
我有一个加载子应用程序(使用 4.1 SDK 构建)的顶级应用程序(使用 4.6 SDK 构建)。在应用程序的这种状态下,大部分内容都包含在子应用程序中,顶部应用程序中的一些 UI 元素形成了围绕子应用程序内容的框架(或“HUD”)。
在没有文本输入字段接收焦点的地方,按 Tab 会导致 Flash Player 严重崩溃,并出现错误 #1023: Stack overflow occurred。
这是一个示例堆栈跟踪:
根据 Adobe 的“开发沙盒应用程序”指南,FocusManager 应该可以正常工作,即使跨沙盒、多版本应用程序也是如此。
有人见过这个吗?知道我可能会错过什么吗?
值得注意的是:
- 子应用程序正在加载到 SWFLoader 中,该 SWFLoader 设置为使用单独的 ApplicationDomain
- 我根本不需要在顶级应用程序中支持选项卡,但是当子应用程序中有可编辑的文本字段时,选项卡必须工作。当有文本字段可供选择时,它工作正常。
欢迎任何和所有建议。谢谢!
wpf - 使用 FocusManager、ContentControl 和 DataTemplate 聚焦
我正在尝试使用以下结构的应用程序使(键盘)焦点正常工作:
在每个内容模板(“某个容器”)的根目录上,我FocusManager.FocusedElement
在模板中设置了一个控件。在 ItemsControl 中的所有项目中,只有一个 ContentControls 是实际可见的(“当前”一个)。所以,基本上,我让第一件事可见,其中的 OK 按钮有焦点,用户可以按 Enter 确认。然后隐藏这个,显示下一个,并且它的主控件(例如文本框)有焦点,用户可以按回车确认(小事件处理使在文本框中回车确认项目)等等。
一切完成后,用户可以单击工具栏中的按钮重新开始,使第一个 ContentControl 再次可见。但这一次它没有焦点。我不知道谁有重点,我希望它像一开始那样工作。我试图将焦点设置到刚刚显示的 ContentControl (它有效,通过虚线可见),但它不会将焦点设置为它的孩子。由于我不知道选择了哪个数据模板(好吧,不是没有编写特殊代码),我不能只是手动设置焦点或通过绑定到孩子。也许我在这一点上错过了一件简单的事情?
另一方面,当用户手动单击活动的 ContentControl 按钮或文本框时,他可以通过 enter 确认,但 ItemsControl 似乎有焦点,而不是下一个项目。我只是无法理解这个焦点问题。有简单的解决方案吗?我是否必须编写代码来遍历 ContentControl 中的树以获得正确的数据模板?然后,我可以以某种方式关注数据模板或设置为 FocusedElement 的控件,还是必须分别为每个数据模板编写代码?
wpf - 动态更改 FocusManager.FocusedElement
我有如下的 WPF xaml 代码:
如何将 FocusedElement 绑定到 ViewModel 中的属性?类似的代码如下:
c# - Setting focus in WPF with MVVM
I have Grid with multiple Textboxes. Depending on actions the user might take focus should be changed to one of the textboxes. My current solution uses a string property in the ViewModel and a data trigger in xaml to change focus. It works nicely but it seems a rather roundabout way to achieve this so I was wondering if it could be done in a clearner way?
As you can see the value of the property and the name of the element is the same so I would like to do this i a single trigger instead of having one trigger per element.
Maybe someone can come up with a cleaner way?
Thanks in advance
c# - wpf中的焦点管理器问题
我有Popup
动态附加UserControl
. 这里我需要为第一个控件设置焦点。如果我使用:
在UserControl
光标不来。谁能帮我把重点放在UserControl
.
提前致谢。