gpt4 book ai didi

java - JComponent InputMap 神秘地被删除

转载 作者:太空宇宙 更新时间:2023-11-04 06:48:50 24 4
gpt4 key购买 nike

我通过修改 jCompInstance.getInputMap() 返回的映射,添加了对 JComponent 的输入映射的绑定(bind)。

我第一次按下已绑定(bind)的键时,效果很好。不知何故,此后,InputMap 被删除。我的意思是 jCompInstance.getInputMap().size() 返回 0

很抱歉没有提供重现该问题的简约代码示例;减少我的庞大计划的尝试都是徒劳的。

这里可能发生了什么?

有没有办法让我设置 JComponent 内部 InputMap 的观察点(在 Eclipse 中)来调查这种情况是如何发生的?

提前致谢!

最佳答案

重现问题的失败尝试令人沮丧,但总是值得的:这意味着您对 key bindings 的基本方法可能是合理的,引用示例将指导您寻找问题。

回想一下,每个组件的 UI 委托(delegate)负责建立其键绑定(bind)。据猜测,您可能会检查几个相关的事情:

  • 确保仅在 event dispatch thread 上构建和操作 Swing GUI 对象。按照建议的所需顺序 here .

  • 验证 UIManager.setLookAndFeel() 的使用是否正确;特别是,不要将其用作 validate() 的替代品。

  • 在自定义组件中,重写 updateUI() 以应用任何自定义绑定(bind),如下所示 here用于颜色。

关于java - JComponent InputMap 神秘地被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23614440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com