Я устал от JButtons, как я могу сделать более приятный графический интерфейс в Java? - PullRequest
21 голосов
/ 11 апреля 2010

До сих пор я только создавал "маленькие" графические приложения, используя Swing и JComponents, как я учился в школе. Тем не менее, я не могу больше выносить уродливые JButtons. Я пытался поиграть с разными методами JButton, такими как изменение цвета, размещение значков и т. Д., Но я все еще не удовлетворен. Как сделать приятный графический интерфейс в Java?

Я ищу не слишком тяжелые альтернативы (например, без больших фреймворков или слишком сложных библиотек).

Ответы [ 10 ]

18 голосов
/ 11 апреля 2010

Swing поддерживает изменение внешнего вида.

Этот урок объясняет, как:

UIManager.setLookAndFeel(lookAndFeelClassName);

Другой способ - запустить приложение с L & F:

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp

Здесь это список из 10 очень приятных на вид и ощущений.

6 голосов
/ 11 апреля 2010

Я использую SWT . Попробуйте, это действительно очень хороший фреймворк java gui, затмение построено вокруг него. Вы также можете использовать этот плагин для затмения для создания ваших форм Instantiations .

5 голосов
/ 11 апреля 2010

Вы хотя бы пробовали с нимбом look'n'feel? это немного лучше, чем другие ..

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

Единственным недостатком является то, что требуется как минимум Java6 обновление 10.

4 голосов
/ 11 апреля 2010
try
{
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e)
{}
2 голосов
/ 11 апреля 2010

Наш менеджер проектов также не любит JButtons, и вместо этого мы используем JIDE OSS кнопки (и множество других компонентов JIDE). SwingX также предлагает альтернативу - JXButton. IMO, это две самые ценные внешние библиотеки Swing.

1 голос
/ 11 апреля 2010

Самое простое - остаться с Swing и использовать другой внешний вид.

То, что МОЖЕТ быть легко сделано, показано на http://www.jgoodies.com/freeware/metamorphosis/index.html (используйте эту эту веб-стартовую ссылку , чтобы увидеть ее в действии)

Либо объедините L & F с вашей программой, либо выберите одну из встроенных. Мне нравится Nimbus, но она должна быть явно выбрана в вашем коде.

1 голос
/ 11 апреля 2010

В этой статье показано, как расширить JButton и переопределить методы рисования компонента.

1 голос
/ 11 апреля 2010

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

0 голосов
/ 11 апреля 2010

Было бы неплохо, если бы у Java был инструмент, похожий на Interface Builder (инструмент разработки GUI, который поставляется с Xcode) - безусловно, лучший конструктор UI, который я когда-либо видел.

0 голосов
/ 11 апреля 2010

Если вы немного увлекаетесь графическим дизайном, вы можете подумать о создании собственного дизайна с Synth , который является частью стандартной JRE. Если вы не хотите создавать свои собственные, бесплатно найдите существующие темы в Google, которые вы можете использовать.

Альтернативами Synth являются либо Synthetica (бесплатно для личного некоммерческого использования), либо Вещество ("бесплатно", как в "Лицензии BSD").

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