{"id":20697140,"url":"https://github.com/tsnsoft/tsn_idea_multiforms","last_synced_at":"2026-04-17T16:32:02.836Z","repository":{"id":119310625,"uuid":"362163742","full_name":"tsnsoft/TSN_Idea_MultiForms","owner":"tsnsoft","description":"Пример простейшего многооконного визуального приложения на Swing для IntelliJ IDEA на Java","archived":false,"fork":false,"pushed_at":"2021-04-29T15:45:05.000Z","size":69,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T02:49:16.958Z","etag":null,"topics":["forms","intellij","intellij-idea","jar","java","multiforms","swing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsnsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-27T15:34:47.000Z","updated_at":"2021-04-29T15:45:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3af3344-34a3-4a84-b404-ab241f45b8e0","html_url":"https://github.com/tsnsoft/TSN_Idea_MultiForms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tsnsoft/TSN_Idea_MultiForms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsnsoft%2FTSN_Idea_MultiForms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsnsoft%2FTSN_Idea_MultiForms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsnsoft%2FTSN_Idea_MultiForms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsnsoft%2FTSN_Idea_MultiForms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsnsoft","download_url":"https://codeload.github.com/tsnsoft/TSN_Idea_MultiForms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsnsoft%2FTSN_Idea_MultiForms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31936572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forms","intellij","intellij-idea","jar","java","multiforms","swing"],"created_at":"2024-11-17T00:16:51.286Z","updated_at":"2026-04-17T16:32:02.820Z","avatar_url":"https://github.com/tsnsoft.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TSN_Idea_MultiForms\nПример простейшего многооконного визуального приложения на Swing для IntelliJ IDEA на Java\n\n![screenshot](screenshot1.png)\n\n![screenshot](screenshot2.png)\n\nMain.java\n```\npackage kz.talipovsn.ij.multiforms;\n\nimport javax.swing.*;\n\n// Основной класс-запускатель программы\npublic class Main {\n\n    static StringBuilder data = new StringBuilder(); // Общая переменная для всех форм\n\n    static JFrame form1; // Общая ссылка на форму 1\n    static JFrame form2; // Общая ссылка на форму 2\n\n    // Точка входа в программу\n    public static void main(String[] args) {\n        SwingUtilities.invokeLater(() -\u003e {\n            form1 = new Form1(); // Создаем в памяти форму 1\n            form2 = new Form2(); // Создаем в памяти форму 2\n            form1.setVisible(true); // Делаем видимой форму 1\n        });\n    }\n}\n```\n\nForm1.java\n```\npackage kz.talipovsn.ij.multiforms;\n\nimport javax.swing.*;\nimport java.awt.*;\n\n// Форма 1\npublic class Form1 extends JFrame {\n\n    private JButton nextButton;\n    private JTextField textField_Fio;\n    private JPanel panel1;\n    private JTextField textField_tel;\n\n    public Form1() {\n        // Инициализация компонент\n        getContentPane().add(panel1);\n        setResizable(false);\n        setIconImage(Toolkit.getDefaultToolkit().createImage(getClass().getResource(\"icon.png\")));\n        setDefaultCloseOperation(EXIT_ON_CLOSE);\n        setTitle(\"Многооконная программа\");\n        pack();\n        setLocationRelativeTo(null);\n\n        // Кнопка \"Далее\"\n        nextButton.addActionListener(actionEvent -\u003e {\n            // Очистим общую переменную\n            Main.data.setLength(0);\n\n            String s1 = textField_Fio.getText(); // Узнаем ФИО\n            String s2 = textField_tel.getText(); // Узнаем телефон\n\n            // Сохраняем нужные данные в общую переменную\n            if (!s1.equals(\"\")) {\n                Main.data.append(s1);\n                if (!s2.equals(\"\")) {\n                    Main.data.append(\", номер: \").append(s2);\n                }\n            } else {\n                Main.data.append(\"???\");\n            }\n\n            Main.form1.setVisible(false); // Скрываем форму 1\n            Main.form2.setVisible(true); // Делаем видимой форму 2\n        });\n\n    }\n\n}\n```\n\nForm2.java\n```\npackage kz.talipovsn.ij.multiforms;\n\nimport javax.swing.*;\nimport java.awt.*;\nimport java.awt.event.WindowAdapter;\n\n// Форма 2\npublic class Form2 extends JFrame {\n    private JPanel panel2;\n    private JButton priorButton;\n    private JButton exitButton;\n    private JLabel label_Data;\n\n    public Form2() {\n        // Инициализация компонент\n        getContentPane().add(panel2);\n        setResizable(false);\n        setIconImage(Toolkit.getDefaultToolkit().createImage(getClass().getResource(\"icon.png\")));\n        setDefaultCloseOperation(EXIT_ON_CLOSE);\n        setTitle(\"Многооконная программа\");\n        pack();\n        setLocationRelativeTo(null);\n\n        // Кнопка \"Назад\"\n        priorButton.addActionListener(actionEvent -\u003e {\n            Main.form2.setVisible(false); // Скрываем форму 2\n            Main.form1.setVisible(true);  // Делаем видимой форму 1\n        });\n\n        // Кнопка \"Выход\"\n        exitButton.addActionListener(actionEvent -\u003e System.exit(0));\n\n        // Переопределяем нужные нам обработчики событий для окна\n        addWindowListener(new WindowAdapter() {\n            // Открытие окна\n            @Override\n            public void windowActivated(java.awt.event.WindowEvent evt) {\n                // Устанавливаем данные из общей переменной\n                label_Data.setText(Main.data.toString());\n            }\n        });\n    }\n\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsnsoft%2Ftsn_idea_multiforms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsnsoft%2Ftsn_idea_multiforms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsnsoft%2Ftsn_idea_multiforms/lists"}