Java不关注任何组件
Posted
技术标签:
【中文标题】Java不关注任何组件【英文标题】:Java not focusing any component 【发布时间】:2015-02-06 10:47:45 【问题描述】:我使用了c1.setFocusable(false)
,这样我的复选框 c1 就没有如图所示聚焦,然后,焦点转到下一个复选框 c2,我再次使用 c2.setFocusable(false)
,它继续到所有复选框。即使它没有找到,它也会继续到下一个 JTextField。有没有办法不让焦点转到某事上,而不是将焦点设置为我所有的众多组件?
【问题讨论】:
我不确定我是否完全理解您想要实现的目标。正在设置自定义焦点遍历策略(如 here 所述)您正在寻找什么? 我有一些组件。第一个是在一些灰色边框中,也就是可聚焦的,但我不希望它或它们中的任何一个是可聚焦的。所以,如果我使用 setFocusable(false),焦点转到下一个,依此类推。 .. 但是拥有一个无法获得焦点的可编辑组件的目的是什么?用户应该用它做什么?如果要禁用某个组件,请使用setEnabled( false )
添加了一张图片,我怎样才能摆脱那个灰色边框的东西? :O
@Robin 我认为这只是关于虚线边界
【参考方案1】:
我怎样才能摆脱那个灰色边框的东西?
您为什么要这样做?那个“灰色边框的东西”是焦点指示器。它用于向用户提供信息,以便用户知道哪个组件具有焦点。
如果你真的想迷惑用户并让他们猜测哪个组件有焦点,那么你可以使用:
button.setFocusPainted( false );
【讨论】:
“方法 setFocusPainted(boolean) 未定义类型 Checkbox”,如果我将其更改为 setFocusable,我会回到最初的问题 @GiannisThanasiou,当然是。阅读 API。它继承自 AbstractButton。if I change it to setFocusable I go back to my initial question
- 和其他评论过的人一样,我不明白这个问题,也没有尝试回答。我直接回答了“灰色边框的东西”。以上是关于Java不关注任何组件的主要内容,如果未能解决你的问题,请参考以下文章