Я устал от JButtons, как я могу сделать более удобный графический интерфейс в java?
Пока я только создавал "маленькие" графические приложения, используя swing и JComponents, как я учился в школе. Но я больше не могу терпеть уродливых JButtons. Я пытался играть с различными методами JButton, такими как изменение цвета, размещение значков и т.д., Но я все еще не удовлетворен. Как вы создаете более удобный графический интерфейс в java?
Я ищу не слишком тяжелые альтернативы (например, без больших фреймворков или слишком сложных библиотек).
Ответы
Ответ 1
Swing поддерживает изменение внешнего вида.
В этом руководстве объясняется, как:
UIManager.setLookAndFeel(lookAndFeelClassName);
Другой способ - запустить приложение с помощью L & F:
java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp
Здесь - это список из 10 очень приятных взглядов и чувств.
Ответ 2
Я использую SWT. Попробуйте, это действительно очень хорошая инфраструктура java gui, вокруг нее создается eclipse. Вы также можете использовать этот плагин для eclipse для создания форм Instantiations.
Ответ 3
Вы хотя бы пробовали с nimbus look'n'feel? это немного лучше, чем другие.
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
только недостатком является то, что он требует хотя бы обновления Java6 10.
Ответ 4
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e)
{}
Ответ 5
Наш менеджер проектов не любит JButtons, и вместо этого мы используем JIDE OSS (и много других компонентов JIDE), SwingX также предлагает альтернативу - JXButton. IMO - это две наиболее ценные внешние библиотеки Swing.
Ответ 6
Вы можете попробовать JavaFX. При всех своих проблемах я нахожу, что если вы хотите поместить достойный (preetier than Swing) интерфейс поверх своего Java-приложения, его довольно легко сделать. Плюс хорошая интеграция с Java. Вы можете реализовать Java-интерфейсы в JavaFX и наоборот.
Ответ 7
Этот article показывает, как расширить JButton и переопределить методы для рисования компонента.
Ответ 8
Проще всего оставаться с Swing и использовать другой внешний вид.
Что можно сделать легко, показано на http://www.jgoodies.com/freeware/metamorphosis/index.html (используйте эту ссылку для веб-поиска, чтобы увидеть ее в действии)
Либо соедините L & F с вашей программой, либо выберите один из встроенных. Мне нравится Nimbus, но он должен быть явно выбран в вашем коде.
Ответ 9
Если вы немного вписываетесь в графический дизайн, вы можете подумать о создании своего собственного дизайна с помощью Synth, который является частью стандартного JRE. Если вы не хотите создавать свои собственные, google для бесплатных существующих тем, которые вы можете использовать.
Альтернативы Synth - это Synthetica (бесплатно для личного, некоммерческого использования) или Substance ( "бесплатно", как в "Лицензии BSD" ).
Ответ 10
Было бы неплохо, если бы у Java был подобный инструмент для Interface Builder (инструмент разработки GUI, который поставляется с Xcode) - безусловно, лучший создатель пользовательского интерфейса, который я когда-либо видел.