【发布时间】:2015-07-31 22:19:18
【问题描述】:
我有一个带有 Windows 外观和感觉的 JPanel。我有 3 个 JCheckBoxes,包括 2 个不影响这个问题的禁用的。但是,未禁用的 JButton 与我稍后在此 JPanel 中的 JButton 出现故障:
JCheckBox 代码:
JCheckBox checkBox = new JCheckBox("TTxJIRA Bash");
checkBox.setSize(300, (checkBox.getFontMetrics(checkBox.getFont()).getHeight()));
checkBox.setLocation(10, 100);
checkBox.setVisible(true);
checkBox.setSelected(true);
checkBox.setBackground(new Color(0, 0, 0, 0));
checkBox.setFocusable(false);
add(checkBox);
还有 JButton 代码:
JButton button = new JButton("Install");
button.setSize(80, 25);
button.setLocation(getWidth() - 100, getHeight() - 60);
button.setFocusable(false);
button.setVisible(true);
add(button);
当我将鼠标悬停在按钮上,然后将鼠标悬停在复选框上时,会发生此故障:
我的疯狂猜测让我认为这与同时关注两个组件有关,但添加 button.setFocusable(false); 并没有帮助。
【问题讨论】:
-
这不是故障。这就是使用绝对定位时发生的情况。使用布局管理器,您的问题将迎刃而解。
-
@BinkanSalaryman 不,getWidth()和getHeight()方法是JPanel的宽高。
-
@Momo,当提出问题时,请发布适当的SSCCE 来证明问题。我们无法说出上述代码是如何使用的上下文。
标签: java swing jbutton jcheckbox