绘制一个看起来像JLabel的JButton(或者至少没有按钮边缘?)

Ele*_*hoy 18 java swing jlabel jbutton

我有一个JButton,出于各种原因我想表现得像一个按钮,但看起来像一个JL​​abel.它实际上并不一定是引擎盖下的JLabel,我只是不希望凸起的按钮边缘显示出来.

是否有一种简单的方法可以关闭JButton的"按钮外观",但保留所有按钮功能?

我可以构建一些组合的子类超级按钮,它被委托给jlabel用于显示目的,但我真的希望有类似的东西button.lookLikeAButton(false).

Avr*_*rom 27

您需要执行以下操作:

        setFocusPainted(false);
        setMargin(new Insets(0, 0, 0, 0));
        setContentAreaFilled(false);
        setBorderPainted(false);
        setOpaque(false);
Run Code Online (Sandbox Code Playgroud)

setFocusPainted(false)如果您希望它实际绘制焦点(例如,Windows外观上的虚线边框),您可能想要排除.

我已经使用了上面的代码,我想要一个"仅图标"按钮.