【问题标题】:Change default "tab" action (transferfocus)更改默认的“选项卡”操作(转移焦点)
【发布时间】:2012-05-01 17:41:46
【问题描述】:

在 Java SWING 中,“Tabkey 在所有 components 之间全局传输 focus。是否可以以某种方式修改这种“默认”行为?

所以不是让“Tabkey 更改 focus,我想要“Enter”键来做。

提前致谢!

【问题讨论】:

    标签: java swing focus jtextfield


    【解决方案1】:

    改变focusTraversalSystem 需要做很多工作。我建议在面板上添加一个actionListener,它包含所有swing组件并检查按下的键是否输入只需将焦点更改为具有tabFocus变量+ 1的下一个元素(您需要将组件放入数组中循环或使用本机摇摆方法(如果适用)。

    【讨论】:

    • 很遗憾,要改变这么一个小东西是那么困难:/ 无论如何,我知道那个解决方案 - 无论如何谢谢。我现在就用它!
    【解决方案2】:

    我确信通过使用

    1)KeyBindings你可以做到这一点非常简单和最安全的方式

    2) 你可以通过方法Component#getOppositeComponent() 在窗口中使用Focus 获取最后一个Component, J/Component

    不需要ArraySwingUtilities,也许Z-Order 可以默认执行此操作,但并非所有Look and Feels 都支持

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 2020-04-07
      • 2015-04-01
      • 2018-09-24
      • 1970-01-01
      相关资源
      最近更新 更多