我制作了一个 JButton,我试图删除默认情况下附带的“边框和颜色”鼠标事件。我尝试了以下方法:
setUndecorated(true);
但这不是正确的代码。
有没有办法删除 JButton 带来的 MouseListener 并将 JButton 设置为您想要的装饰方式?
最佳答案
How to set a JButton to be undecorated...
如果您想玩一下按钮装饰,请查看 AbstractButton API(JButton 扩展自的类)。特别是这些方法:
setContentAreaFilled(boolean flag) :设置
contentAreaFilled
属性。如果true
按钮将绘制内容区域。如果您希望有一个透明按钮,例如仅图标按钮,那么您应该将其设置为false
。setBorderPainted(boolean flag) :设置
borderPainted
属性。如果为 true 并且按钮有边框,则绘制边框。setRolloverEnabled(boolean flag) : 设置
rolloverEnabled
属性,该属性对于翻转必须为 true 发生的影响。JComponent.setBorder(null) :由于某些外观可能不支持
borderPainted
属性,在这种情况下它们会忽略此属性,因此您可能需要将按钮边框设置为null
。
...and remove the MouseListener
不明白你的意思,但我怀疑你想摆脱按下按钮时发生的动画或滚动效果。如果是这种情况,那么使用上面提到的方法就足够了。
关于java - 如何将 JButton 设置为未修饰并删除 MouseListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22427057/