【发布时间】:2011-10-23 02:31:57
【问题描述】:
我知道这个问题已经被问了一百万次,可以通过覆盖paintComponent() 来完成,但我想知道的是如何在尊重当前外观的同时改变形状。如果我想将形状更改为圆形,我还希望按钮看起来像一个按钮,只是形状不同。
我尝试制作一个 JButton,覆盖 paintComponent,然后将其剪裁成一个圆圈,但我没有在 Nimbus LAF 上获得边框效果。
有没有更好的方法?或者JButton中有方法吗?
【问题讨论】:
-
PieceButton有一轮Icon可能会让你开始使用 sscce。 -
每个 LAF 的组件都是唯一的。因此,每个 LAF 的形状/大小/颜色/字体都是独一无二的。如果要更改组件的形状,则需要为给定的 LAF 重写 UI。除非您的 LAF 支持圆形边框,否则您将无法执行此操作。没有捷径可走。您需要编写所有代码。
-
@camickr 在不知道当前
LAF的情况下如何做到这一点???
标签: java swing look-and-feel paint