2012-01-13 4 views
2

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

Мой вопрос заключается в следующем:

Как я теперь дизайн/код интерфейс для этого приложения ?? С чего начать? Я имею в виду, есть ли какие-либо учебники/ресурсы, описывающие шаги? Я знаю, что Swing существует, но с чего начать, и это единственный вариант?

Любая помощь/помощь оценили ...

+3

Сначала я думаю, что вам нужно решить, как вы хотите развернуть приложение. Если приложение для настольных компьютеров, то да, Swing может работать хорошо для вас. Если это будет более распространенное приложение, тогда другие идеи могут работать лучше (? JSP?, Но последний из моей области знаний, и поэтому я не буду давать никаких конкретных рекомендаций для этого). Если вы решите на Swing, тогда вы захотите проверить [tutorials] (http://docs.oracle.com/javase/tutorial/uiswing/components/index.html). –

+0

Добавлены 3 богатых клиентских инструментария GUI для тегов. –

+0

[Java Web Start] (http://stackoverflow.com/tags/java-web-start/info) является хорошим вариантом развертывания. – trashgod

ответ

5

Вы должны изучить ядро ​​GUI API java.awt и его суб-пакеты вместе с (расширенный API) javax.swing и его суб-пакетов. Вы можете начать работу - The Java Tutorial.

+0

Но игнорируйте компоненты AWT и используйте Swing. –

+0

@AndrewThompson - Цените! Следует избегать только нескольких компонентов AWT, особенно компонентов Widget - Label, TextField, Frame, Panel и т. Д., Но не весь AWT API/события/макет/печать/графика. – adatapost

+1

С учетом этого мы согласны.Swing в значительной степени основывается на некомпонентных частях пакетов AWT (и основывается в малой части на/унаследовано от нескольких компонентов AWT). –

2

Нет, Swing - это не единственный вариант, но вы должны начать. Swing - это «новая и улучшенная» версия некоторых объектов GUI в java.awt. Большинство объектов Swing строят из своих счетных частей AWT, наши совершенно новые. Оба свинга и AWT является частью ядра Java API, так что было бы лучше начать с уроком, что AVD связанными вас (The Java Tutorial)

+0

'JTable',' JTree', поддержка форматированных документов в компонентах Swing. Этот вид вещей выходит за рамки «новых и улучшенных», поскольку AWT не предоставляет аналогичных компонентов/функциональных возможностей. –

9

Богатые GUI клиента ToolKits для Java в основном:

  • AWT Инструмент Sun's Abstract Window Toolkit был оригинальным компонентом для создания графических интерфейсов, инструментарий, основанный на использовании собственных компонентов. АВТ все еще содержит ядро ​​очень важных частей J2SE ГПИ, таких как Graphics/Color/Java 2D, Image & BufferedImage, печать, D'n'D ..
  • Swing В настоящее время, основной поток рабочего стола приложения. компонентный инструментарий. Swing генерирует компоненты внутри и позволяет установить графический интерфейс Pluggable Look and Feel. Swing предлагает компоненты & функциональность недоступна в AWT, например JTable, JTree, поддержка форматированных документов (например, RTF & простой HTML) в компонентах Swing. Для получения дополнительной информации см. things that Swing provides beyond AWT.
  • Java FX 2 Предназначен для замены (замены) Swing, AFAIU.
  • SWT - еще один выбор, не написанный Oracle, использует туземцы. Я бы не рекомендовал его для кого-то, кто изучал богатое клиентское программирование, поскольку получить ответы относительно Swing намного легче.
+0

Я настоятельно рекомендую SWT вместо Swing. Eclipse RCP еще более зрелый, чем среда приложений Swing. И одна из самых важных причин для меня - это визуализация шрифтов Swing/AWT в Linux, это ужасно. – wyz

+1

@ Андрю Томпсон большой разум думает одинаково !!! +1 – mKorbel

+0

@wyz Возможно, вам нужно изучить настройку времени выполнения [настройки шрифта AA] (http://docs.oracle.com/javase/7/docs/technotes/guides/2d/flags.html#aaFonts) или другие настройки, связанные с шрифтом. –

Смежные вопросы