2

提供 JLabel 的文本是“文本”,

我想要一个 JLabel 对象在 Nimbus 中看起来像这样:

替代文字

在金属中是这样的:

替代文字

即与 JTabbedPane 的选项卡标题相同。可能吗?

谢谢。

4

2 回答 2

1

绝对没错。但没那么容易。

每个 Swing 组件都有一个与之关联的 UI,可以被您自己的自定义 UI 覆盖。您可以创建一个 JLabelUI(UI 委托类)并自己设置它,或者您可以简单地覆盖 JLabel 的 paint() 方法(创建您自己的自定义 JLabel.

下一步是获取要复制的 UI 的源代码,并从该 UI 中获取绘制函数并将其复制到覆盖的绘制方法(或 UI 委托类)中。

于 2010-11-30T13:45:25.530 回答
0

也许另一个解决方案的逻辑更简单;

将 JLabel 放入 JPanel。根据需要设置 JPanel 的背景(图像、图形绘图等)并将 setText 设置为 JLabel。用它们创建一个小部件并使用它;)

注意:我认为@Codemwnci 的方法更容易接受;)

于 2010-11-30T14:11:52.093 回答