绘制一个看起来像JLabel的JButton(或至少没有按钮边缘?)
问题内容:
我有一个JButton,出于各种原因,我想充当按钮,但看起来却像JLabel。实际上,它不一定必须是JLabel,我只是不希望显示凸起的按钮边缘。
是否有一种简单的方法可以关闭JButton的“按钮外观”,但保留所有按钮功能?
我可以构建某种组合的子类超级按钮,将其委托给jlabel进行显示,但我真的希望有类似的东西button.lookLikeAButton(false)
。
问题答案:
您将需要执行以下操作:
setFocusPainted(false);
setMargin(new Insets(0, 0, 0, 0));
setContentAreaFilled(false);
setBorderPainted(false);
setOpaque(false);
setFocusPainted(false)
如果希望它实际绘制焦点,则可能要排除(例如Windows外观上的虚线边框)。
我在需要“仅图标”按钮的情况下使用了上面的代码。