Как сделать JLabel похожим на заголовок вкладки JTabbedPane - PullRequest
2 голосов
/ 30 ноября 2010

При условии, что текст JLabel - "Текст",

Я хочу, чтобы объект JLabel выглядел следующим образом в Nimbus:

alt text

как это в металле:

alt text

, т. Е. Такой же, как заголовок вкладки JTabbedPane.Возможно ли это?

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

Абсолютно Да. Но не все так просто.

Каждый компонент Swing имеет связанный с ним пользовательский интерфейс, который может быть переопределен вашим собственным пользовательским интерфейсом. Вы можете создать JLabelUI (класс делегата пользовательского интерфейса) и установить его самостоятельно, или вы можете просто переопределить метод paint () JLabel (создав свой собственный JLabel.

Следующий шаг - получить исходный код пользовательского интерфейса, который вы хотите скопировать, взять функцию рисования из этого пользовательского интерфейса и скопировать ее в переопределенный метод рисования (или класс делегата пользовательского интерфейса).

0 голосов
/ 30 ноября 2010

Возможно, логика другого решения более проста;

положить JLabel в JPanel. установите фон JPanel по своему усмотрению (изображение, рисунок с графикой и т. д.) и установите для текста значение JLabel. Создайте с ними виджет и используйте его;)

Примечание: я думаю, что метод @Codemwnci более приемлем;)

...