如何使JLabel看起来像JTabbedPane的标签头

时间:2010-11-30 13:27:20

标签: java background jlabel

提供JLabel的文本是“Text”,

我希望Nimbus中的JLabel对象如下所示:

alt text

在Metal中这样:

alt text

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

感谢。

2 个答案:

答案 0 :(得分:1)

绝对是的。但不那么容易。

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

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

答案 1 :(得分:0)

也许另一种解决方案的逻辑更容易;

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

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