我正在为学校做这个项目,但是我的一个面板中的一个按钮有焦点(我可以用tab键改变焦点)。无论哪个按钮有焦点都会表现出奇怪的行为。
有没有办法让没有按钮有焦点?即使按下tab键也没有任何选择?
请注意,矩形按钮周围有一个虚线。我想让它消失。
谢谢!
有没有办法让没有按钮有焦点?即使按下tab键也没有任何选择?
请注意,矩形按钮周围有一个虚线。我想让它消失。
谢谢!
![alt text](https://istack.dev59.com/P8plY.webp)
button.setFocusable(false);
如果你只是想让它不显示虚线,你也可以使用下面的代码
button.setFocusPainted(false);
仍然可以接收焦点,但你将看不到虚线。button.getRootPane().requestFocus();
使用 setFocusable
会将焦点移动到下一个可聚焦的组件。
public void removeFocusFromAllObjects(Container container) {
container.setFocusable(false);
for (Component child : container.getComponents()) {
if (child instanceof Container) {
removeFocusFromAllObjects((Container) child);
} else {
child.setFocusable(false);
}
}
}
我编写了上述代码,以递归方式从父组件中移除所有组件的焦点。希望对访问此帖子的某些人有用。