java swing конструктор форм

Как начать пользоваться Swing GUI-визардом IntelliJ IDEA. Подробная инструкция

Давно не писал настольных приложений на Java вообще и с использовании Swing в частности. Однако, возникла необходимость немного по GUIть. В качестве инструмента выбрал IntelliJ IDEA Community edition, 2016.1 версии.

Взялся ваять и, естественно, первое, на что налетел — хотя со времён Borland Java Builder 2006 воды утекло немало, экранные интерфейсы создавать проще не стало, скорее наоборот. А одной из причин выбора IDEA было как раз наличие Swing дизайнера «из коробки», однако как им пользоваться с ходу решительно непонятно — форма генерится, класс создаётся, создаются переменные контролов из дизайнера… но и только: при создании нашего класса форма на экране не появляется

Пошарил интернет, информации приблизительно ноль. Народ говорит, мол, «создавай и — вперёд!». Хм…

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

Создание Swing GUI форм средствами JetBrains IntelliJ IDEA 2016.1

image loader

image loader

В итоге нам действительно сгенерили класс-наследник JDialog (который можно создать и использовать) и форма к нему.
Запускаем наш проект на выполнение и… о ужасчудо! при компиляции IDEA добавляет в конец нашего файла некоторый дополнительный код.

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

Генерится класс и форма к нему. Накидываем на форму несколько контролов. В GUI дизайнере смотрим имя корневого элемента (обычно panel1, если IDEA не задала имя, а такое бывает, задайте принудительно — я для наглядности назвал rootPanel).

image loader

Переходим к исходному коду нашего класса.

Итак:
1. Добавляем для нашего класса наследование «extends JFrame»;
2. Добавляем конструктор класса со строками:

Всё. Форма готова к употреблению. Остальное смотрите в многочисленных инструкциях по Swing.

P.S. Как вариант, можно не наследовать наш класс от JFrame, а создать конструктор вида:

Такой вариант тоже работает — возможно, кому-то пригодится.

Источник

Особенности создания форм Swing в IntelliJ IDEA

На просторах Интернета периодически возникают одни и те же вопросы. Формы Swing, созданные в IntelliJ IDEA не отображаются или не отображаются элементы интерфейса на них.

Как решить эту проблему?

Шаг 1. Правильно настроить IDE

В меню File выберите пункт Settings. В появившемся окне в разделе Editor-GUI Designer установите значение опции Generate GUI into «Java source code».

NastroykiGUIDesigner

После этого для исходного кода форм IntelliJ IDEA будет генерировать соответствующие java классы.

Шаг 2. Собрать проект

При добавлении на форму элементов интерфейса данная IDE автоматически генерирует только поля класса.

Для того чтобы были сгенерированы методы создания интерфейса необходимо собрать проект. Так как эти методы генерируются только при сборке.

Шаг 3. Доработать класс формы

Для того чтобы форма и элементы интерфейса на ней могли корректно отобразиться на экране необходимо доработать сгенерированный класс формы.

Метод лучше сделать статическим в виде обычного метода main.

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

Шаг 4. Вызвать форму в главном классе приложения

Если класс формы не является главным, форму необходимо вызвать на экран.

Если на предыдущем шаге был создан статический метод, вызов происходит в одну строку.

В противном случае предварительно создаём объект формы.

Все вышеописанные нюансы – следствие издержек стандартного плагина UI Designer, который входит в дистрибутив.

Другие плагины для создания графического интерфейса лишены этих недостатков. Например, JFormDesigner. Но, к сожалению, многие из них платные. На данный момент, стоимость некоммерческой лицензии на тот же JFormDesigner составляет от 79$, коммерческой от 159$ в расчёте на одного пользователя.

Поэтому, если нет возможности или желания покупать дополнительные плагины, скорее всего, придётся:

Источник

Как создать графический интерфейс с примерами Swing на Java

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

Объединение всех этих компонентов создает графический интерфейс пользователя.

Что такое Swing в Java?

Swing в Java – это легкий инструментарий с графическим интерфейсом, который имеет широкий спектр виджетов для создания оптимизированных оконных приложений. Это часть JFC (Java Foundation Classes). Он построен на основе AWT API и полностью написан на Java. Он не зависит от платформы в отличие от AWT и имеет легкие компоненты.

Создавать приложения становится проще, поскольку у нас уже есть компоненты GUI, такие как кнопка, флажок и т. д.

Контейнерный класс

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

Ниже приведены три типа контейнерных классов:

Разница между AWT и Swing

Иерархия

lazy placeholder

Объяснение: Все компоненты в свинге, такие как JButton, JComboBox, JList, JLabel, унаследованы от класса JComponent, который можно добавить в классы контейнера.

Контейнеры – это окна, такие как рамка и диалоговые окна. Основные компоненты являются строительными блоками любого графического приложения. Такие методы, как setLayout, переопределяют макет по умолчанию в каждом контейнере. Контейнеры, такие как JFrame и JDialog, могут добавлять только компонент к себе. Ниже приведены несколько компонентов с примерами, чтобы понять, как мы можем их использовать.

JButton Class

Он используется для создания помеченной кнопки. Использование ActionListener приведет к некоторым действиям при нажатии кнопки. Он наследует класс AbstractButton и не зависит от платформы.

lazy placeholder

JTextField Class

Он наследует класс JTextComponent и используется для редактирования однострочного текста.

lazy placeholder

JScrollBar Class

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

lazy placeholder

JPanel Class

Он наследует класс JComponent и предоставляет пространство для приложения, которое может присоединить любой другой компонент.

lazy placeholder

JMenu Class

Он наследует класс JMenuItem и является компонентом выпадающего меню, которое отображается из строки меню.

Вывод:
lazy placeholder

Класс JList

Он наследует класс JComponent, объект класса JList представляет список текстовых элементов.

Вывод:
lazy placeholder

JLabel Class

Используется для размещения текста в контейнере. Он также наследует класс JComponent.

Вывод:
lazy placeholder

JComboBox Class

Он наследует класс JComponent и используется для отображения всплывающего меню выбора.

Вывод:
lazy placeholder

Для размещения компонентов внутри контейнера мы используем менеджер макета. Ниже приведены несколько менеджеров макетов:

Макет границы

Менеджер по умолчанию для каждого JFrame – BorderLayout. Он размещает компоненты в пяти местах: сверху, снизу, слева, справа и по центру.
lazy placeholder

Макет потока

FlowLayout просто кладет компоненты в ряд один за другим, это менеджер компоновки по умолчанию для каждого JPanel.
lazy placeholder

GridBag Layout

GridBagLayout размещает компоненты в сетке, что позволяет компонентам охватывать более одной ячейки.
lazy placeholder

Пример: фрейм чата

lazy placeholder

Это простой пример создания GUI с использованием Swing в Java.

Средняя оценка / 5. Количество голосов:

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Источник

Руководство по Java Swing

Java Swing – это легкий инструментарий графического интерфейса пользователя (GUI), который включает в себя богатый набор виджетов. Он включает в себя пакет, позволяющий создавать компоненты графического интерфейса для приложений Java, и не зависит от платформы.

Библиотека Swing построена на основе Java Abstract Widget Toolkit (AWT), более старого, зависимого от платформы инструментария GUI. Вы можете использовать компоненты библиотеки Java, такие как кнопка, текстовое поле и т. д. из библиотеки, и вам не нужно создавать компоненты с нуля.

java swing class hierarchy

Все компоненты в Swing являются JComponent, который может быть добавлен к классам контейнера.

Что такое контейнерный класс?

Контейнерные классы – это классы, в которых могут быть другие компоненты. Поэтому для создания графического интерфейса нам нужен как минимум один контейнерный объект. Есть 3 типа контейнеров.

Пример: Чтобы научиться проектировать GUI в Java.

Шаг 1) Скопируйте следующий код в редактор

Шаг 2) Сохраните, скомпилируйте и запустите код.

Шаг 3) Теперь давайте добавим кнопку в наш фрейм. Скопируйте следующий код в редактор

Шаг 4) Выполнив код, вы получите большую кнопку.

Шаг 5) Как насчет добавления двух кнопок? Скопируйте следующий код в редактор.

Шаг 6) Сохраните, скомпилируйте и запустите программу.

Шаг 7) Неожиданный вывод =? Кнопки перекрываются.

Менеджер макетов используется для компоновки (или упорядочивания) компонентов JAVA GUI внутри контейнера. Существует много менеджеров макетов, но наиболее часто используемые из них-

Java BorderLayout – BorderLayout помещает компоненты в пять областей: верхнюю, нижнюю, левую, правую и центральную. Это менеджер макетов по умолчанию для каждого Java JFrame.

java border layout manager

Java FlowLayout. FlowLayout-это менеджер макетов по умолчанию для каждой JPanel. Он просто раскладывает компоненты в один ряд один за другим.

java flow layout manager

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

java grid bag layout

Шаг 8) Как насчет создания фрейма чата, как показано ниже?

java swing chat frame

Попробуйте написать код, прежде чем смотреть на программу ниже.

Источник

Как правильно создавать GUI формы в IDEA?

Пытаюсь создать форму в IDEA с помощью дефолтного плагина. Версия IDE 11.0.1.

Приложение не запускается, ошибка:

Подсвечиваются строки, сгенерированные IDEA.

0t9c2

2 ответа 2

Попробуйте в общем так:

И вообще советую почитать хотя бы эту статью или купить книгу Swing-эффективные пользовательские интерфейсы издание-2 Портянкин Иван.

Некропост и все такое, но поделюсь своим велосипедом 3 итерации. По ходу проекта нужно было создавать много внутренних окон, по этому решил пойти через абстрактный класс. Само окно содается средставми JIdea, просто добавляется наследование абстрактного класса. Переопределяем метод getRootPanel(), в котором возвращаем самый верхний JPanel, который и станет нашим contentPane. Затем во внешнем классе просто вызываем ManagebleWindow.getInstance(НужныйНамКлассОкна.class) и все.

photo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками gui java intellij-idea swing или задайте свой вопрос.

Связанные

Похожие

Подписаться на ленту

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

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.11.10.40696

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • java spring crud приложение
  • java if else сокращенная форма