Как создать интерфейс в intellij idea
Перейти к содержимому

Как создать интерфейс в intellij idea

  • автор:

Как начать пользоваться 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

Во-первых, для понимания процесса лучше начать с того. что зайти в меню IDEA «File -> Settings» — там «Editor -> GUI Designer» и установить флажок Generate GUI Into: в Java source code. (это немного поможет пониманию процесса на первом этапе — потом можно будет убрать обратно).

image

Далее открываем дерево исходного кода своего проекта и кликаем правой кнопкой мыши на любую папку или файл исходного кода java и выбираем «New -> Dialog» — вводим имя класса для формы.

image

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

Несложно догадаться, что вся наша Swing-овая форма конфигурируется в автогенерируемом методе $$$setupUI$$$.

Вспомните настройку, которую мы установили в самом начале — «GUI Into: -> Java source code». Если её не ставить, то этот метод просто будет появляться напрямую в _class_ файле, минуя java-файл (декомпилируйте его, если сомневаетесь — я это сделал). Соответственно, можете вернуть настройку «GUI Into:» к первоначальному виду, чтобы этот код (который всё равно редактировать настоятельно не рекомендуют) не мозолил глаза.

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

Опять правой кнопкой мыши кликаем на папку или файл исходного кода, выбираем «New -> GUI Form» — вводим имя класса для формы.

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

image

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

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

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

Как добавить Interface в пакет?

Установил новую версию IntelliJ Idea (Community Edition 2017.3.4×64). В предыдущей версии IntelliJ все было просто и понятно: New ⇒ Class ⇒ имя класса ⇒ Interface .

А теперь что-то поменялось.

Открывается New ⇒ File ⇒ Enter a file name ⇒ Ввожу имя файла – нет возможности выбрать опцию Interface.

Столкнулся с неожиданной проблемой и не знаю что делать.

Существует ли возможность еще как-то добавлять Interface в пакет, а не только на пакете Правая клавиша ⇒ New ?

Как создать интерфейс в intellij idea

So far our our programming has been limited to a command line interface, however for many people, this does not provide the best user experience, and a Graphical User Interface (GUI) provides an enhanced user experience. Fortunately, Java provide a set of components ‘Swing components’ which allow for the creation of a User Interface, what’s more is that they work across different platforms (e.g. Mac / Windows).

This tutorial takes you through the process of creating a ‘Hello World’ application using a GUI.

Creating the project

  1. Start by creating a new Java Project in IntelliJ, however rather than using a command line template, simply create it without a template.
  2. Right click on the src folder in the project window and choose New -> Swing UI Designer -> GUI Form
  3. Name the form ‘HelloWorld’, and configure it as shown in the screenshot belowIntelliJ form configuration dialogue box showing GridLayoutManager selected and the bound class optioned enabled with the same name
  4. The form will be displayed, and will include, by default, a panel. In the component tree (likely left of centre of the IDE) select the JPanel and beneath it, enter the value ‘rootPanel’ into the field name property box, as shown here: Setting the field name of a JPanel
  5. Browse to the HelloWorld.java file and ensure that you can now see the jPanel as a variable in the HelloWorld class as follows:
  6. The next stage is to ensure that the application runs the form on startup, so, with the cursor inside the HelloWorld class code, in the menu, click Code, then ‘Generate. ‘ and in the box that appears, choose ‘Form main()’. This will add the following code to the file:
  7. If IntelliJ displays a warning on the JFrame.EXIT_ON_CLOSE code, you can replace it with WindowConstants.EXIT_ON_CLOSE instead
  8. To run the code, we must create a configuration which will execute the main method inside the HelloWorld class. To do this click ‘Run’ on the menu, followed by ‘Run. ‘
  9. In the dialogue that appears, choose the ‘HelloWorld’ option
  10. The application will run, but as the JPanel has no content, you will likely only see what looks like the title bar of an applicaton, with no contents below it (and you may have to look carefully for it!): Java programme with no window contents
  11. Close the programme
  12. Return to the form and drag a JLabel onto it at the top of the Window
  13. Select the label in the Component tree (as you did with the JPanel) and set it to have a field name of helloLabel
  14. Add a JButton below the label and set its field name to helloButton
  15. Click in the button and set it’s text to ‘Press me’. It should now look something like this:
  16. Right-click on the button and choose ‘Create Listener’ from the menu, then from the dialogue box that appears, choose ‘ActionListener’. This creates a method in the code which will be called when a user clicks on the button.
  17. Click OK on the next dialogue that appears and you will be taken back to the HelloWorld.java file, but the following constructor code will now have been added:
  18. This code adds a ‘listener’ to the button, such that when it is pressed it calls the inner actionPerformed() method. Add the following code inside the actionPerformed method, so that when it is invoked the label displays the message «Hello World»:
  19. Run the project and you now see a label (with the text ‘label’) and a button. Press the button and the label’s text should change to «Hello World» GUI with label showing Hello world and a button

Further development

In a similar way to our initial Hello World command line application, it would be good to improve our application, so that can request the user’s name and greet them personally.

A hello world UI with input textfield

  1. Add a JLabel to the top of the form and set its text to «Please enter your name»
  2. Use the Horizontal Align property to set its position to centred
  3. Beneath the label you just added, add a JTextField, and set its field name to nameTextField
  4. Rearrange the existing button and label, so the helloLabel is below the button
  5. Remove the existing text from the nameLabel so it is empty.
  6. In the properties for the helloLabel, expand the Minimum Size property and set the minimum height to 25. This will ensure space appears for it even before it has any text inside.
  7. Save the form. It should now appears as follows:
  8. Return to the HelloWorld.java file
  9. Modify the code inside the helloButton’s ActionListener’s actionPerformed() method to read the value from the textbox as follows:
  10. Run the application, type your name into the text field and verify that you get a personalised greeting

This site uses cookies for analytics, you may disable them in your browser settings

Как создать интерфейс в intellij idea

GUI Designer in IntelliJ IDEA enables you to create graphical user interfaces (GUI) for your applications using Swing library components. The tool helps you speed up the most frequent tasks: creating dialogs and groups of controls to be used in a top-level container such as a JFrame. When you design a form with the GUI Designer, you create a pane rather than a frame.

Dialogs and groups of controls created with the GUI Designer can coexist in the application with the components that you create directly with Java code.

Using the GUI Designer is subject to the following limitations:

GUI Designer does not support modeling of non-Swing components.

The GUI Designer does not create a main frame for an application, nor does it create menus.

For more information about using the GUI Designer, see Designing GUI. Major Steps.

Русские Блоги

IntelliJ IDEA как создать новый проект и HTML, css (интерфейс)

Для нового понимания IntelliJ IDEA я не знаю, как создавать новые проекты и детские туфли с HTML и css (я просто не могу выучить это сейчас)

Инструменты / Материалы

Метод / шаг

Откройте IntelliJ IDEA

IntelliJ IDEA HTML、css

Щелкните стрелку на рисунке: создать новый проект (новый проект)

IntelliJ IDEA HTML、css

Нажмите static web-static web-next (Далее)

IntelliJ IDEA HTML、css

Введите имя проекта в поле имени проекта выше

Выберите корневой каталог для сохранения в поле шутки ниже.

Нажмите закрыть, чтобы отменить

IntelliJ IDEA HTML、css

IntelliJ IDEA HTML、css

Новый файл HTML: выберите новый проект — щелкните правой кнопкой мыши новый файл HTML — введите имя HTML (обычно индекс) во всплывающем окне запроса и выберите соответствующую версию HTML.

IntelliJ IDEA HTML、css

Новый файл HTML: выберите новый проект — щелкните правой кнопкой мыши новый файл HTML — введите имя HTML (обычно индекс) во всплывающем окне запроса и выберите соответствующую версию HTML.

IntelliJ IDEA HTML、css

Новый файл css: новый файл HTML: выберите только что созданный проект — щелкните правой кнопкой мыши новый файл — введите css во всплывающем окне, нажмите кнопку ОК

Как добавить Interface в пакет?

Установил новую версию IntelliJ Idea (Community Edition 2017.3.4×64). В предыдущей версии IntelliJ все было просто и понятно: New ⇒ Class ⇒ имя класса ⇒ Interface .

А теперь что-то поменялось.

Открывается New ⇒ File ⇒ Enter a file name ⇒ Ввожу имя файла – нет возможности выбрать опцию Interface.

Столкнулся с неожиданной проблемой и не знаю что делать.

Существует ли возможность еще как-то добавлять Interface в пакет, а не только на пакете Правая клавиша ⇒ New ?

Как начать пользоваться 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

Во-первых, для понимания процесса лучше начать с того. что зайти в меню IDEA «File -> Settings» — там «Editor -> GUI Designer» и установить флажок Generate GUI Into: в Java source code. (это немного поможет пониманию процесса на первом этапе — потом можно будет убрать обратно).

image

Далее открываем дерево исходного кода своего проекта и кликаем правой кнопкой мыши на любую папку или файл исходного кода java и выбираем «New -> Dialog» — вводим имя класса для формы.

image

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

Несложно догадаться, что вся наша Swing-овая форма конфигурируется в автогенерируемом методе $$$setupUI$$$.

Вспомните настройку, которую мы установили в самом начале — «GUI Into: -> Java source code». Если её не ставить, то этот метод просто будет появляться напрямую в _class_ файле, минуя java-файл (декомпилируйте его, если сомневаетесь — я это сделал). Соответственно, можете вернуть настройку «GUI Into:» к первоначальному виду, чтобы этот код (который всё равно редактировать настоятельно не рекомендуют) не мозолил глаза.

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

Опять правой кнопкой мыши кликаем на папку или файл исходного кода, выбираем «New -> GUI Form» — вводим имя класса для формы.

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

image

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

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

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

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

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