Java:文件菜单点击是否获得焦点?

标签 java swing focus jtable

我在处理表格时遇到问题,在用户按下 Enter 或 Tab 键之前​​,正在编辑的单元格不会存储其新值,而我希望它在焦点丢失时立即提交值,因为我发现选择"file" -> 在编辑单元格时保存'导致该单元格的数据丢失。 我发现你可以简单地设置

table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

这适用于焦点的每次更改,除非选择了文件菜单,在这种情况下,单元格将保持在编辑模式。 我的问题是,在 Java 中,设置此属性的行为是否不像人们预期的那样,或者默认情况下焦点对菜单项的工作方式不同?

最佳答案

如果您不想使菜单项可聚焦,则需要在保存操作中添加如下代码:

if (table.isEditing())
    table.getCellEditor().stopCellEditing();

关于Java:文件菜单点击是否获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744137/

相关文章:

java - 根据问题随机化用户输入

java - 我应该如何设计我的 DAO 层

java - JCombo 自动完成 - 模式或反向查找

java - 跟踪焦点问题(JTabbedPane)

java - 字段上的 CDI @Produces 注释的目的是什么?

java,实际情况下的静态方法问题。表模型实现

Java Swing Shift+F10 辅助功能

focus - 动画/缩放 tvOS 中的焦点自定义 View

java - 使用 Java 在 Selenium WebDriver 中聚焦元素的正确方法

java - TextField 的 prefColumnCount 属性是什么?