所以我有代码可以设置一个JButton 等于一个ImageIcon。同样,当我将鼠标悬停在图像上时,它会显示一个新的 ImageIcon,但我拥有它的方式是,新的 IconImage 实际上比原来的要大一点。现在的问题是它仍然存在于按钮的范围内,所以假设我的按钮大小是 100、250 并且翻转 IconImage 是 120、270 那么问题是每边的 20 个像素被切断。
到目前为止,我的解决方案实际上是使按钮等于翻转 IconImage 的大小,但我的问题是,即使我将鼠标悬停在最多 20 像素的图像旁边,翻转效果仍然会发生。现在这显然是因为我更改了 JButton 的边界。
如果有人有任何他们能想到的解决方案,我将不胜感激。
这是我正在做的一个例子:
singlePlayerButton = new ImageIcon("GUIImages\\singlePlayerButton.png");
rollOverSinglePlayerButton = new ImageIcon("GUIImages\\rollOverSinlgePlayerButton.png");
btnSinglePlayer = new JButton(singlePlayerButton);
btnSinglePlayer.setOpaque(false);
btnSinglePlayer.setContentAreaFilled(false);
btnSinglePlayer.setBorderPainted(false);
btnSinglePlayer.setFocusPainted(false);
btnSinglePlayer.setBounds(320, 25, 275, 130);
btnSinglePlayer.setRolloverIcon(rollOverSinglePlayerButton);
mainMenu.add(btnSinglePlayer);
想象一下,我已经声明了我在其他地方使用的变量。