Как сделать графический интерфейс java

Как сделать графический интерфейс java

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Занятие 6. Графические интерфейсы: первое окно

Мы догадываемся, что порядком утомили вас, рассказывая все время о программах вывода текстовых сообщений на консоль. На этом занятии эта «унылая» череда примеров будет, наконец, прервана: мы покажем как на Java создаются окна и вы убедитесь, что это простая задача. Вот наш код (обсуждать его мы начнем на следующем занятии, т.к. в нем много-много особенностей, знать которые действительно нужно):

public class MoneyForNothing extends JFrame <

setTitle («Добро пожаловать в Money for Nothing»);

setSize (new Dimension (600, 400));

public static void main (String [] args) <

MoneyForNothing mfn = new MoneyForNothing ();

А вот этот же код в окне редактирования FAR-а:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Кстати, рекомендуем сразу набирать исходные коды программ в кодировке CP1251 (или в просторечии, в кодировке Windows): переключение кодировок осуществляется клавишей F8, а текущая кодировка высвечивается в строке состояния над областью редактирования.

Точка входа осталась без изменений, а вот остальной код порядком изменился (но не будем забегать вперед). После компиляции и запуска вы должны увидеть следующее:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Сначала решим вторую задачу – центровка окна. Тут мы рекомендуем остановиться и подумать – как бы вы это сделали?

Подскажем, что в графической библиотеке Java есть есть метод setLocation, которому в качестве параметров передаются координаты верхнего левого угла окна (именно от этого угла производится размещение других графических элементов внутри окна). Но если задать эти параметры «в лоб», то почти наверняка ничего путного не получится т.к. на другом мониторе с другим разрешением окно окажется совсем не там, где вы рассчитывали. Следовательно, координаты нужно задавать умнее.

Все, что нужно для размещения окна по центру, это знать размеры самого окна (они, кстати, заданы в конструкторе и составляют прямоугольник 600 на 400 пикселей) и разрешение экрана, а потом, путем нехитрой арифметики, вычислить необходимые координаты левого верхнего угла. Это достигается путем размещения следующего кода

Dimension sSize = Toolkit.getDefaultToolkit ().getScreenSize (),

if (fSize.height > sSize.height)

if (fSize.width > sSize.width)

непосредственно за строкой setSize (new Dimension (600, 400)); в конструкторе. Внесите необходимые изменения в исходный код, откомпилируйте программу и запустите на исполнение; окно должно появиться в центре экрана монитора.

catch (Exception lfe) <>

Так мы и поступим. Теперь, после компиляции обновленной версии нашей программы и запуска ее на исполнение, графическое окно будет выглядеть гораздо «пристойнее»:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

В зависимости от настройки свойств экрана вашего монитора отображение окна будет отличаться; мы используем классическую тему Windows XP. У вас это же окно может выглядеть, например, так:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Убедитесь, что все работает как ожидалось: окно выводится в центре экрана и его внешний вид соответствует ожидаемому.

На этом мы закончим наше первое занятие, посвященное графическим интерфейсам. В нем мы показали «фасад», однако совершенно оставили «за бортом» множество вопросов, которые чрезвычайно важны и без которых невозможно программирование на Java вообще и графических интерфейсов в частности. Мы начнем заниматься этими вопросами на следующем занятии, а пока – поиграйтесь с тем исходным кодом, который есть.

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

Другое упражнение проще по исполнению, но вам нужно будет воспользоваться документацией (надо же когда-то начинать, в самом деле): сделайте так, чтобы нельзя было изменять размеры окна, т.е. чтобы область системных кнопок выглядела так, как на рисунке

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

(подсказка: ищите информацию по ключевым словам javax и JFrame). Так что, засучите рукава и удачи!

Может случиться, что сформированное окно будет полностью или частично невидимо (из-за того, что вы неправильно рассчитали координаты его вывода на экран). Кнопки управления окна могут также оказаться недоступными. Как же прервать работу приложения не снимая задачу в «Диспетчере задач» или не перезагружая компьютер?

Источник

Как создать свой сайт

Почти все книги и уроки по Java для новичков начинаются с описания ООП: какой он замечательный с великолепный. Понятно, поскольку в Яве просто невозможно любое другое программирование, кроме как объектно-ориентированное, то вначале предлагается освоить 40..80 страниц безумных аналогий с иерахией кошечек/собачек/уточек/автомашин, и только после этого предлагается написать «Hello, World!». 🙂

При этом стоит заметить, что абсолютно всё обучение Java строится на примитивнейшем выводе результата на консоль. То есть не консольное приложение в привычном понимание, а именно вывод каких-то данных построчно. Ну вот например Turbo Pascal 3.0 вышел в 1985 году и в нём уже была поддержка графических режимов. В 1990 году появился Turbo Vision — очень крутая вещь — аля-Windows только для DOS. А в Яве в 2018 году возможен только вывод на консоль. И вот вся эта восторженность и крутость как-то вдребезги разбивается уже на этапе «Hello, World!». Хуже наверное это только развлекаться на программируемом калькуляторе МК-61 или МК-52 — а что? там такой же построчный вывод.

Но, самое забавное — это то, что на Java реально можно создавать программы используя визуальное программирование! Я об этом узнал только когда прочитал (или скорее ознакомился) с 500 страничной книгой, где в одной из последних глав, вдруг выяснилось, что для Java существуют нормальные GUI (графические интерфейсы пользователя) и можно оформлять программы с кнопочками, полями ввода и нормальными меню. Спрашивается: зачем вы столько времени «мурыжили» эту паршивую консоль, когда можно было сразу всё делать красиво и аккуратно?

(Дальше много картинок!)

Потратив несколько дней на изучение данного вопроса, я выяснил несколько забавных нюансов.

Первый — GUI для Java есть трёх видов (библиотек): AWT, Swing (кто придумывает такие названия?) и JavaFX.

На сегодняшний день (Java 8 и 9) все они входят в комплект поставки JDK: то есть всё работает из коробки и не нужно заморачиватся с их установкой. Это большой плюс.

Но, AWT — это первая и очень старая реализация, поэтому её использовать не нужно. В общем — некошерно. Swing — тоже некошерно, поскольку там что-то не так замутили и программы из-за него жутко тормозят. Точнее не скажу, не разбирался, но вроде как она официально больше не развивается несколько версий. А вот JavaFX — это гуд и наше светлое будущее.

Есть ещё такая мерзость — java-апплеты, те которые работают в браузере и при этом его намертво «вешают», примерно как Flash, только ещё хуже. К счастью эту/эти штуку/штуки практически уже не используют, поэтому тратить время на их изучение бессмысленно.

Так что единственное на что стоит потратить время — это JavaFX.

Второй момент. Всё не так просто. Рассмотрим Delphi (или Visual Studio, Lazarus, не важно). Даже для «зеленого» новичка создание простой программы (одна кнопка и текстовое поле для вывода) будет происходить так:

То есть мы не написали ни единой строчки кода, IDE — всё сделала сама. Если посмотреть на сгенерированный код, то назвать его простым нельзя — здесь уже требуются определенные знания, но Delphi достаточно умна, чтобы понимать как с ним работать.

Если мы захотим добавить какое-то действие, например при нажатии на кнопку, заполнять текстовое поле фразой «Привет!», то делаем так:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

То есть опять же, IDE выполнила всю черновую работу.

Но это в других языках, Java идёт своим путём. Чтобы создать кнопку в JavaFX нужно вручную создать Stage — «театральные подмостки» (название на полном серьёзе!) и на них разместить сцену (Scene). К ней какой-нибудь контейнер в который уже вкладывается прочие элементы.

При этом предполагается, что каждый элемент и каждое его свойство нужно программировать индивидуально. Вот пример на две кнопки и одну label из моей обучающей книги

Когда кнопок наберется с десяток, плюс 20 пунктов меню, плюс 30 других компонентов, то код маленьким не покажется. И это ещё без кода, который отвечает за дополнительные свойства, например выравнивание, размеры, шрифт. И вот это второе указывает на то, что обучалки по JavaFX как раз и показывают как писать «fx-код» ручками. Тоска, одним словом.

Но, тут возникает спасительный третий нюанс. Оказывается умные люди (видимо знакомые с полноценными IDE), разработали другой вид приложений, где для генерации «fx-кода» используется описательный xml-файл, который называется fxml, а такие программы менуются как «Приложения FXML JavaFX»

Для меня совершенно удивительно то, что обучение Java не начинается именно с таких приложений. Пусть это не Delphi, но всё-равно это в миллион миллионов раз лучше, чем работать с консолью и забивать себе голову прочим хламом о том, почему нужно использовать стопицот строк с ООП там, где в других языках на это уходит одна простенькая процедура. 😉

Теперь серьёзно. Если вы никогда не программировали на Java, то можете попробовать сделать это прямо сейчас. На самом деле — это довольно круто, хотя потребуется немного потратить время, чтобы освоится с программами. Если у вас есть опыт работы с «визуальными IDE», то ещё лучше — встретите много знакомого.

Ява должна быть установлена на компе. Я не буду приводить ссылки как это сделать — гугл в помощь, поскольку всё слишком просто.

В Яве нет какой-то одной программы — среды разработки, поэтому в Сети встречаются примеры из разных программ. Самые примитивные, вроде Notepad++ годятся только для консольного вывода, но если рассматривать что-то более серьёзное, то выделяются только три кандидата: NetBeans, Eclipse и IntelliJ IDEA.

NetBeans — самая простая программа, которая быстро (относительно остальных) запускается и довольно сносно работает.

Eclipse — тоже неплохой вариант, более мощный чем NetBeans, но слабее чем IntelliJ IDEA.

IntelliJ IDEA — выглядит самой крутой, но за это приходится платить скоростью работы. Стоит отметить, что Android Studio базируется на IntelliJ IDEA, но студия работает почему-то значительно медленней.

Важный момент связан с программированием под Андроид. Из этих трех IDE только IntelliJ IDEA для этого более-менее годится. В Сети масса материалов о программировании под Андроид в Eclipse, но они все уже устаревшие — не тратье время, запуская старенький ADT-плагин и пытаясь хоть что-то с ним сделать. Может быть старый Android SDK и будет работать, но все новые — уже нет.

Я покажу как сделать приложение FXML JavaFX во всех трёх программах, но прежде чем приступать, нужно установить ещё одну программу: SceneBuilder (используйте версию для Java 8). Это ключевая программа, где, собственно и выполняется всё визуальное построение. SceneBuilder самостоятельно может работать без IDE, поэтому можете её запустить и посмотреть как она устроена. На выходе будет fxml-файл, который содержит всю нужную разметку. Этот файл и используется в IDE, вместо написания мегатонны кода. 🙂

Создаваемая программа будет очень простой — кнопка и текстовое поле. При нажатии на кнопку в текстовое поле пусть добавляется текст «Привет!».

В каждой программе вам нужно заранее прописать настройку — используемую JDK. Если не можете понять как это сделать, гуглите.

NetBeans

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Создаём новый проект, где нужно выбрать «Приложение FXML JavaFX».

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Жмём «Далее» и видим окно настройки проекта. Нужно указать название проекта, у меня это myfx.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Жмём «Готово» и, после некоторой работы NetBeans, видим готовые файлы:

Теперь запустите программу. Вначале пойдет сборка и компиляция (довольно быстрая), после чего выскочит окно нашей программы.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Это круто, потому что мы не написали ни строчки кода, но уже получили программу с работающей кнопкой. 🙂

Если вы правильно указали путь к SceneBuilder, то можете выбрать пункт меню «Открыть» на файле FXMLDocument.fxml. Это же самое произойдёт если сделать двойной клик. Откроется SceneBuilder. Если пункта нет, то путь указан не верно, проверьте настройку.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Принцип работы в SceneBuilder един для всех IDE, поэтому пока я опишу только общие моменты, дальше вы уже сами сообразите.

Стоит отметить, что после редактирования файла, закрывать SceneBuilder не нужно. Достаточно только сохраниться (Ctrl+S) и переключиться на IDE — она сама подхватит изменения.

Окно SceneBuilder разделено на три части:

Построение FX-программ должно начинаться с контейнера. В данном примере NetBeans использовал AnchorPane. Он довольно удобный, позволяя настраивать для вложенных элементов «правильные» отступы. Вкладка Containers содержит другие контейнеры, с которыми вы сможете самостятельно потренироваться (я и сам ещё и половины не освоил 🙂 ).

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

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

По условиям ТЗ у нас должно быть текстовое поле. NetBeans использует Label, но мы не будем ничего удалять, а просто добавим новый элемент TextField на форму (произвольно на ваш вкус).

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

В SceneBuilder возможен предварительный просмотр (Ctrl+P). В этом режиме отображается только форма и все элементы «без java-программирования».

Теперь важный момент: для того чтобы можно было использовать компонент в java-программе (в нашем коде), следует выполнить две вещи.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Как видно — это контролёр из файла FXMLDocumentController.java (пакет.контролёр). Не всегда IDE его указывают, но это важно, поскольку fxml-файл (точнее java-код) использует его для привязки.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

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

У кнопки, которая будет заполнять текстовое поле, тоже должен быть свой id, а также метод события onAction (это основное событие компонента, а не onClick, как в Delphi). NetBeans уже об этом позаботился, поэтому нам ничего не придется писать.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

На этом визуальное построение можно завершить. Сохраняемся и переключаемся в NetBeans. Видим, что файл FXMLDocument.fxml изменился: добавился textField1:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Теперь нам нужно как-то использовать текстовое поле в java-коде. В отличие от Delphi, NetBeans не создаёт для этого никакого кода, потому нам придётся добавлять его в «полу-ручном» режиме. Для этого в разных IDE используются различные способы, но общий принцип в том, что нужно установить курсор на нужное поле в редакторе и выполнить некое «действие». В NetBeans оно называется Установить контролер в меню Источник. (Да в Яве большие проблемы с именованиями. )

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

После выполнения этой команды, произойдет переход к файлу FXMLDocumentController.java, где в код будет добавлено объявление переменной textField1:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Обратите внимание на «@FXML» — эта аннотация указывает, что код как-то используется в FXML. После этих изменений SceneBuilder уже не будет выдавать предупреждение, как желтый треугольник ранее. Если ещё раз запустить SceneBuilder, то это можно проверить.

Запускаем программу на выполнение для теста. Теперь наша задача по клику на кнопке заполнить текстовое поле. Как вы уже поняли метод handleButtonAction как раз и выполняет нужную работу. В нём дописываем:

Обратите внимание как работает автодополнение кода после того, как будет нажата точка.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

По мере набора текста, NetBeans будет сужать область предложений, где можно выбрать нужный вариант. Эта возможность очень здорово облегчает жизнь программистам, поскольку вариантов слишком много и это позволяет избежать различного рода синтаксических ошибок при наборе.

Данная возможность присутствует по всех IDE, хотя есть различия в реализации и использовании.

Запускаем программу и видим, что всё работает как нужно.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Нам пришлось написать всего одну строчку кода, ну и выполнить несколько дополнительных действий в редакторе.

Eclipse

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Обратите также внимание на то, что Eclipse неруссифицированная программа (даже не знаю, есть ли к ней руссификатор).

Создаём новый проект и выбираем JavaFX.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Жмем Next и попадаем на страницу настроек. Здесь я указал название проекта, как и прежде myfx (у меня для разных IDE разные каталоги проектов, поэтому они не пересекаются друг с другом).

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Дальше ещё несколько раз жмем на Next, пока не попадем на последние настройки.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Здесь нужно выбрать тип приложения, тип контейнера и имя контролера. Жмем Finish и Eclipse быстро генерирует каркас нашей будущей программы.

Здесь всё очень похоже, только добавлен еще один файл application.css — да, да, в JavaFX можно использовать CSS для настройки оформления! Eclipse сразу сгенерировал для этого файла код подключения.

Запустим программу и убедимся, что нет ошибок.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

В отличие от NetBeans, здесь совершенно пустая форма. Откроем её в SceneBuilder с помощью контекстного меню.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

И здесь мы видим, что формы нет. Но, на самом деле она есть — просто по умолчанию используется вычисляемый размер (высота и ширина), который в данном случае равен нулю. Компонентов-то нет! В нашем случае это не совсем то, что нужно, поэтому мы выберем BorderPane в иерархическом списке и в свойствах Pref Width и Pref Height укажем какие-то значения. Эти свойства задают «желаемые» ширину и высоту. После этого форма сразу же «проявляется».

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Контейнер BorderPane состоит из 4-х частей: top, right, bottom, left и center. Компоненты следует помещать в разные части — от этого будет зависеть их положение при изменении размера окна.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Здесь довольно сложно объяснить словами, просто попробуйте разместить несколько кнопок, а после в предварительном просмотре измените размеры окна.

Я не стал особо мудрить и разместил вверху текстовое поле, а в центре кнопку.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Теперь проверим, что указан контролёр: в данном случае application.SampleController — Eclipse выполнил эту работу за нас.

Теперь нужно указать id у наших элементов. Для кнопки я задал btn1, а текстовому полю textField1. У нас опять же возникло сообщение «желтый треугольник».

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Для кнопки укажем метод на событие — btn1Click.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Сохранимся и вернёмся в Eclipse. Мы увидим, что файл Sample.fxml обновился, но рядом с некоторыми строками появились значки предупреждения.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Ситуация здесь точно такая же как и в NetBeans — нужно в «полу-ручном» режиме вносить правки. В Eclipse для этого используется контекстное меню по второй кнопке мыши: Quick Fix или горячая клавиша Ctrl+1 (что удобней).

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

При этом выскакивает подсказка о предполагаемом действии. Например для textField1 предлагается добавить идентификатор в контролёр:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

а для кнопки ещё и метод-обработчик события:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

При этом, Eclipse немного притормаживает и изменения не сразу отображаются на экране. Тут нужно либо переключиться на файл контролёра, либо немного подождать. В результате в код будет добавлены нужные изменения и значки предупреждений исчезнут.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Добавим наш код как и раньше мы сделали в NetBeans.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Обратите внимание на более интелектуальную работу автодополнения. В автоматическом режиме он немного подтормаживает, но если нажать Ctrl+Пробел (эта же комбинация используется во многих IDE), то позволяет получить и неплохой хелп.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Запускаем нашу программу.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

И записываем себе на счёт ещё одну IDE. 🙂

IntelliJ IDEA

IntelliJ IDEA запускается довольно неспешно, можно успеть проверить почту. 🙂

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Дальше создаем новый проект:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

И указываем его имя (как обычно — myfx):

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

IntelliJ IDEA выполнит инициализацию и мы увидим уже знакомые три файла. Запустим программу, чтобы проверить отсутствие ошибок.

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Здесь также пустая форма, но зато указан заголовок программы. Если посмотреть на код Main.java, то увидим строчку:

Это и есть заголовок приложения. В других IDE эта строчка отсутствует, но зато теперь мы знаем для чего нужны «театральные подмостки». 😉

Переключаемся в SceneBuilder (аналогично Eclipse): второй кнопкой мыши нужно выбрать Open in SceneBuilder.

Здесь также пустая форма, но с контейнером GridPane. Устанавливаем Pref Width и Pref Height, чтобы отобразилась форма.

Сам по себе GridPane представляет собой аля-сетку из ячеек для элементов. Думаю, что тут нет смысла повторяться — все действия будут аналогичными:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Закрываем SceneBuilder и возвращаемся в IntelliJ IDEA. Здесь нужно добавить идентификаторы id в код, а также создать метод для реакции на нажатие кнопки.

IntelliJ IDEA предлагает для этого два способа. Первый — при наведении мышки на «проблемное место» будет появляться подсказка, на которую можно кликнуть:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Второй — горячая клавиша Alt+Enter

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

При каждом добавлении происходит переключение на файл контролёра, где можно сразу увидеть изменения.

При этом, заметьте, не добавляется строчка «@FXML». Если мы вручную его добавим перед переменными и методом, то IntelliJ IDEA сразу предложит добавить нужный java-класс:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Вообще IntelliJ IDEA показывает достаточно хорошую сообразительность и выступает помощником в написании кода. Причём делает это самостоятельно без лишних нажатий кнопок.

Ну что ж, добавляем свой код для обработчика и запускаем программу:

Как сделать графический интерфейс java. Смотреть фото Как сделать графический интерфейс java. Смотреть картинку Как сделать графический интерфейс java. Картинка про Как сделать графический интерфейс java. Фото Как сделать графический интерфейс java

Прекрасно, всё работает!

Итого

Главный вывод — на Яве возможно визуальное программирование. Может оно и не идеальное, но вполне годное, особенно для новичков. Изучать язык гораздо интереснее, когда есть какой-то осязаемый результат — ООП, классы и прочие премудрости — это хорошо, но лучше начать с кнопочек, полей ввода, меню и всего того, что подразумевает нормальная программа. А консоль — это скучно и неинтересно.

Три IDE я привел не случайно. В Сети очень много примеров для Явы и все они для разных программ. Лично я ещё не определился со своим предпочтением, поскольку у всех есть как плюсы, так и минусы. Наверное нужно поработать со всеми, тогда и будет понятно.

Но, ключевой момент — это умение работать с SceneBuilder. Построение формы в JavaFX немного отличается от той же Delphi, в первую очередь в использовании сложных контейнеров (они могут быть вложенными друг в друга). Поэтому вначале следует разобраться с ними, после уже можно браться за сами компоненты.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *