Java: Как вы разрабатываете компоненты Swing? - PullRequest
2 голосов
/ 11 января 2009

Я пишу свой первый Java-проект.

Мне было интересно, можно ли стилизовать компоненты Swing (установить цвет фона, удалить границы с кнопок и т. Д.)

Ответы [ 5 ]

5 голосов
/ 11 января 2009

Если это так просто, как просто изменить шрифт, фон, границы и т. Д. Swing может сделать все это по умолчанию. То есть для кнопки JButton:

JButton aButton ...
aButton.setBackground(new Color(...));  
aButton.setForeground(new Color(...));  
aButton.setFont(new Font(...));  
aButton.setBorder(null);  

Посмотрите на большинство этих методов на JComponent . Или, для более специфичных для компонента методов, в javadoc компонента.

Я бы порекомендовал вам прочитать некоторые основы в Учебное пособие по Java или JComponent API или даже книгу, например Filthy Rich Clients или Java HowTo Program .

Настраиваемый внешний вид был бы слишком большим. Я предлагаю сначала посмотреть, не соответствуют ли вышеуказанные решения вашим потребностям, а затем пойти на это.

3 голосов
/ 13 января 2009

Есть несколько открытых проектов soruce, которые позволяют стилизовать компоненты Swing в CSS-подобном формате.

Вы должны взглянуть на Java CSS проект. Он был представлен в этом блоге .

3 голосов
/ 11 января 2009

Конечно, возможно сделать значительные настройки, потому что это то, что делают различные варианты внешнего вида.

Вы можете взглянуть на сменную архитектуру внешнего вида , хотя это может быть излишним для того, что вы хотите.

В качестве альтернативы вы можете создать подкласс для существующих компонентов и использовать / переопределить их существующие методы, если вам нужны только незначительные изменения.

1 голос
/ 11 января 2009

Для широкого применения приложения создание (или расширение) собственного подключаемого интерфейса , вероятно, является правильным решением. Для специальных эффектов, вы также должны взглянуть на рамки художника . Обратите внимание, что они являются частью Swingx, а не ядром Swing.

0 голосов
/ 11 января 2009

Если вы хотите сильно стилизовать свои компоненты, приобретите сторонний Look-And-Feel и используйте его, возможно, ваш лучший выбор. Мой личный фаворит - Substance , в котором даже есть API для создания полностью пользовательских LAF поверх Substance.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...