Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tsnsoft/tsn_idea_multiforms
Пример простейшего многооконного визуального приложения на Swing для IntelliJ IDEA на Java
https://github.com/tsnsoft/tsn_idea_multiforms
forms intellij intellij-idea jar java multiforms swing
Last synced: 5 days ago
JSON representation
Пример простейшего многооконного визуального приложения на Swing для IntelliJ IDEA на Java
- Host: GitHub
- URL: https://github.com/tsnsoft/tsn_idea_multiforms
- Owner: tsnsoft
- License: mit
- Created: 2021-04-27T15:34:47.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-04-29T15:45:05.000Z (over 3 years ago)
- Last Synced: 2024-11-17T00:20:08.830Z (2 months ago)
- Topics: forms, intellij, intellij-idea, jar, java, multiforms, swing
- Language: Java
- Homepage:
- Size: 67.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TSN_Idea_MultiForms
Пример простейшего многооконного визуального приложения на Swing для IntelliJ IDEA на Java![screenshot](screenshot1.png)
![screenshot](screenshot2.png)
Main.java
```
package kz.talipovsn.ij.multiforms;import javax.swing.*;
// Основной класс-запускатель программы
public class Main {static StringBuilder data = new StringBuilder(); // Общая переменная для всех форм
static JFrame form1; // Общая ссылка на форму 1
static JFrame form2; // Общая ссылка на форму 2// Точка входа в программу
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
form1 = new Form1(); // Создаем в памяти форму 1
form2 = new Form2(); // Создаем в памяти форму 2
form1.setVisible(true); // Делаем видимой форму 1
});
}
}
```Form1.java
```
package kz.talipovsn.ij.multiforms;import javax.swing.*;
import java.awt.*;// Форма 1
public class Form1 extends JFrame {private JButton nextButton;
private JTextField textField_Fio;
private JPanel panel1;
private JTextField textField_tel;public Form1() {
// Инициализация компонент
getContentPane().add(panel1);
setResizable(false);
setIconImage(Toolkit.getDefaultToolkit().createImage(getClass().getResource("icon.png")));
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Многооконная программа");
pack();
setLocationRelativeTo(null);// Кнопка "Далее"
nextButton.addActionListener(actionEvent -> {
// Очистим общую переменную
Main.data.setLength(0);String s1 = textField_Fio.getText(); // Узнаем ФИО
String s2 = textField_tel.getText(); // Узнаем телефон// Сохраняем нужные данные в общую переменную
if (!s1.equals("")) {
Main.data.append(s1);
if (!s2.equals("")) {
Main.data.append(", номер: ").append(s2);
}
} else {
Main.data.append("???");
}Main.form1.setVisible(false); // Скрываем форму 1
Main.form2.setVisible(true); // Делаем видимой форму 2
});}
}
```Form2.java
```
package kz.talipovsn.ij.multiforms;import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;// Форма 2
public class Form2 extends JFrame {
private JPanel panel2;
private JButton priorButton;
private JButton exitButton;
private JLabel label_Data;public Form2() {
// Инициализация компонент
getContentPane().add(panel2);
setResizable(false);
setIconImage(Toolkit.getDefaultToolkit().createImage(getClass().getResource("icon.png")));
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Многооконная программа");
pack();
setLocationRelativeTo(null);// Кнопка "Назад"
priorButton.addActionListener(actionEvent -> {
Main.form2.setVisible(false); // Скрываем форму 2
Main.form1.setVisible(true); // Делаем видимой форму 1
});// Кнопка "Выход"
exitButton.addActionListener(actionEvent -> System.exit(0));// Переопределяем нужные нам обработчики событий для окна
addWindowListener(new WindowAdapter() {
// Открытие окна
@Override
public void windowActivated(java.awt.event.WindowEvent evt) {
// Устанавливаем данные из общей переменной
label_Data.setText(Main.data.toString());
}
});
}}
```