我正在开展一个项目。我想在软件中添加一个工具栏,所以我在面板中放了一些按钮。但是默认按钮样式不符合我的需要。我希望按钮具有以下效果:
示例:就像eclipse工具栏上的按钮一样。
答案 0 :(得分:3)
为什么不use a JToolbar而不是JPanel?
答案 1 :(得分:1)
那么,您想要自定义JButton渲染吗?
首先,对于包罗万象的解决方案,您可以查看现有的LnF,如Substance(显然,它是一个非常强大的解决方案,可满足您的需求,但它可能会给您一些灵感)。
然后,如果你想自己解决,你必须覆盖paintComponent方法。
为此,第一步是继承JButton
。
然后,在您的子类中,首先重新定义paintComponent(Graphics)
方法。
请注意,如果所有内容过于复杂,您还可以查看setBorderPainted(boolean)
方法。
答案 2 :(得分:1)
扩展JButton并:
答案 3 :(得分:1)
我明白了。我的问题的答案是setContentAreaFilled()方法。当鼠标悬停在按钮上时,调用setContentAreaFilled(true)。否则调用setContentAreaFilled(false)。以下是相对代码:link text