Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Книги по Java создание GUI приложений


Автор: Greiv 26.12.2010, 23:45
Всем здравствуйте. Пытался найти литературу по программированию GUI вот что нарыл на форуме используя поиск "http://forum.vingrad.ru/forum/topic-97750.html" не одна ссылка не работает, пытаюсь создавать гафические приложения, но возникает множество трудностей самая главная это создание указателей то есть прописывание какой либо переменной в кнопку.

В общем вопрос тот же, подскажите где достать литературу по созданию GUI на java, чтоб всё начиналось от простейшего к сложному, а не сразу с сложного. 
Пытаюсь программировать в NEtBeans.
Если кто то сможет посоветовать книги по java буду рад. Сам находил очень много книг, но к середине книги наступает полное непонимание процесса и не состыковке при написании кода с книги в аде, так же ошибки при компиляции. Если кто то может посоветовать АДЕ лучше чем выше указанная буду рад, но только чтоб бесплатная была и в коммерческом использовании тоже естественно.

Скачал с офф сайта главы с книги Java и среда NetBeans либо я что то не понял либо книга тяжело написана, везде куски кода не одной адекватной программы, начинается в с Hello World, а потом сразу графика и понеслась в общем тяжёлая книга.

Автор: mgarin 27.12.2010, 11:21
Ну, на самом деле ресурсов завались по Swing, стоит лишь посмотреть первые же найденные:
http://www.google.ru/search?rlz=1C1GGGE_enRU351RU351&sourceid=chrome&ie=UTF-8&q=java+swing+tutorial

1ая же ссылка - оффициальный сайт Sun Oracle с подробным описанием всего что только можно:
http://download.oracle.com/javase/tutorial/uiswing/

Начинайте с 1ой ссылки там же и продвигайтесь вглубь описания
Если Вы будете все внимательно а главное с сознанием читать и пробовать, то никаких проблем не возникнет
А конкретные вопросы можно как раз на форумах спрашивать

Автор: Temdegon 27.12.2010, 18:54
Мне очень понравилась книга Desktop Java Live
http://www.amazon.com/Desktop-Java-Live-Scott-Delap/dp/0974884332

Автор: Greiv 28.12.2010, 00:45
Спасибо всем за помощь. И что такое Swing?

Автор: mstalker26 28.12.2010, 03:37
Цитата(Greiv @  27.12.2010,  22:45 Найти цитируемый пост)
Спасибо всем за помощь. И что такое Swing?

http://ru.wikipedia.org/wiki/Swing

Из книжек рекомендую http://www.ipsoftware.ru/books/

Автор: mgarin 28.12.2010, 13:17
Цитата(Greiv @  28.12.2010,  00:45 Найти цитируемый пост)
Спасибо всем за помощь. И что такое Swing?

Swing этот тот самый "GUI на java" как вы его называли.

Он предоставляет стандартный набор компонентов имеющихся в любой ОС - TextArea/TextField/Button/ToggleButton/CheckBox и т.д.

Полный путь к ним: javax.swing.*
Например:
javax.swing.JButton
javax.swing.JTextField
javax.swing.JTree
и т.д.

Есть, конечно, и альтернативы Swing'у - SWT например (http://www.eclipse.org/swt/)
Также есть и множество библиотек расширяющих возможности Swing - SwingX, Jide и т.д. (как бесплатные так и платные)

Плюс ко всему Swing может использовать различные темы (скины, обертки, LnF - называейте как угодно) - LookAndFeel's
По умолчанию у приложений установлен MetalLookAndFeel, но можно его легко менять во время работы приложения или еще до запуска.
Также можно устанавливать системный LookAndFeel, тогда все компоненты будут выглядеть аналогично той ОС, на которой вы запускаете приложение.

Автор: Greiv 29.12.2010, 20:28
Спасибо всем за разъяснение. И сразу же вопрос в догонку чтобы тему не создавать новую, вот допустим я создал проект GUI в NetBeans он автоматически создаёт несколько файлов, один файл это файл исходного кода, другой файл это файл формы сгенерированный автоматически и третий файл я так и не понял для чего он нужен, так вот не понятно где начинать писать исходный код ну то есть классы и всё остальное, создав класс отдельным файлом у меня возникаю серьёзные проблемы при прописывания данных допустим в кнопку которая соответственно  находится в другом файле сгенерированном системой, допустим как сделать так чтобы кнопка видела допустим переменную Х и при нажатии на неё автоматически подтягивала её из другого класса?

Я задал такой вопрос так как писав программу по книге я столкнулся с массой проблем при написании кода и самое главное его размещения, то есть было вообще не понятно где размещать исходник с горем пополам методом проб и ошибок мне удалось скомпилить программу, но самое интересное что в файле с функцией mein не было не единой строчки кода всё было записано в файл формы, в итоге в голове бардак и не понятно где начинать писать исходный код? Как я понимаю исходник программы вообще должен быть написан в отдельном файле, а кнопки просто должны вызывать определённые методы допустим взять простейшее сложение 2 чисел, то есть допустим пользователь вводит в текстовое расположенное на форме с помощью редактора форм цифры, это поле автоматически должно записывать в переменную данные которые ввёл пользователь, но переменная то находится за приделами файла формы а возможно и в отдельном файле(классе), в общем не как не могу разобраться с привязкой переменных или действий к кнопкам или другим графическим элементам.

Автор: aleksandy 29.12.2010, 21:17
Цитата(Greiv @  29.12.2010,  20:28 Найти цитируемый пост)
И сразу же вопрос в догонку чтобы тему не создавать новую, вот допустим я создал проект GUI в NetBeans

Пиши все руками, это проще, чем разбираться в том, что на###кодилнагенерировал NetBeans. И начинать все-таки с gui не стоит, потренируйся сначала на консольках.

Автор: Greiv 29.12.2010, 22:23
Цитата(aleksandy @ 29.12.2010,  21:17)
Цитата(Greiv @  29.12.2010,  20:28 Найти цитируемый пост)
И сразу же вопрос в догонку чтобы тему не создавать новую, вот допустим я создал проект GUI в NetBeans

Пиши все руками, это проще, чем разбираться в том, что на###кодилнагенерировал NetBeans. И начинать все-таки с gui не стоит, потренируйся сначала на консольках.

Вы конечно правы, но дело в том что я уже прошел период консольного обучения самостоятельно и у меня не плохо получается код компилится без проблем, всё работает. Я просто пытаюсь изучать востребованные вещи на данный момент, а как вы знаете консольные приложения не кого сейчас не интересуют, ведь софт в основном та пишут для юзеров а не для админов которые могут работать в консоли, поэтому я и взялся за GUI и вот тут та и начались серьёзные проблемы даже при создании простейших математический вычислений которые в консоли я с самого начала делал без проблем, опять же всё упирается в программирование кнопок и моё не понимание + ко всему добавляется специфика среды разработки. Просто нет смысла задерживаться на том что давно себя изжило. 

Автор: mgarin 29.12.2010, 23:42
Консоли по прежнему, думаю, юзабельны в определенных кругах.
Другое дело если вам нужно работать непосредственно с "GUI".

Опять же, согласен с aleksandy - "Пиши все руками, это проще, чем разбираться в том, что на###кодилнагенерировал NetBeans"

Я потому и приводил ссылку на оффициальный сайт с полным разборчивым руководством.
Сперва может показаться что в NetBeans визуальном редакторе удобно и быстро накидать формочки и оформить приложение, но в конечном счете - проблем не оберетесь.
Так что, прежде чем использовать визуальный редактор, все-таки, советую изучить то, как работает Swing и его компоненты.

Скажем, на ваш вопрос - "допустим как сделать так чтобы кнопка видела допустим переменную Х и при нажатии на неё автоматически подтягивала её из другого класса?" 
1. Чтобы где либо в приложении вытянуть переменную из другого класса - она должна быть либо статичная, либо вам необходимо создать инстанс того класса в данном (или получить его где-то) и от него получить переменную через метод или напрямую. Учитывая, что у вас уже "все хорошо" с консольным вариантом, странно что возник этот вопрос.
2. Как связать полученное значение с нажатием кнопки:
http://download.oracle.com/javase/tutorial/uiswing/components/button.html#abstractbutton
(Опять все тот же мануал)

Потому и советую, сперва все прочитать (или по крайней мере посмотреть нужные моменты там), прежде чем спрашивать smile

Автор: _Y_ 31.12.2010, 14:10
Из бумажной литературы очень хороша:
http://www.booksgid.com/programmer/4762-swing.-jeffektnye-polzovatelskie.html, Иван Портянкин, 2005 г., Издательство: Питер.

Автор: НовыйСтиль 4.1.2011, 15:05
могу кинуть ссылку на видеоуроки, там освящается тема и GUI

Автор: mstalker26 4.1.2011, 16:08
Цитата(_Y_ @  31.12.2010,  12:10 Найти цитируемый пост)
Из бумажной литературы очень хороша:
Swing. Эффектные пользовательские интерфейсы, Иван Портянкин, 2005 г., Издательство: Питер.


Повторяемся smile Я уже писал про это http://www.ipsoftware.ru/books/ smile.
Кстати, Иван второе издание написал, скоро купить можно будет, а первое можно от него в электронном варианте получить, если написать ему.

Автор: _Y_ 4.1.2011, 23:40
mstalker26, извиняюсь, ту ссылку или не кликнул или не открылась. Второе издание сам с удовольствием куплю при случае.

Кстати, а по Java FX нет ли книжки подобного уровня?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)