Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 17

Как добавить Gui форму на другую?

04.02.2021, 09:40. Показов 2717. Ответов 1

Студворк — интернет-сервис помощи студентам
Здавствуйте, мне нужно получить примерно вот такую картину.
https://www.cyberforum.ru/atta... 1612420512
Вот, что получается у меня.
https://www.cyberforum.ru/atta... 1612420512
Проблема заключается в том, что у меня не получается добавить одну форму на другую без потери кнопок.
Не могу понять: новая форма их закрывает или я делаю что-то неправильно?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public Person(String id,String name,String surname,String tel)
{  //removed  code with initialization
    JLabel[] labels={new JLabel("Id", JLabel.RIGHT),new JLabel("Name", JLabel.RIGHT),new JLabel("Surname", JLabel.RIGHT),new JLabel("Tel", JLabel.RIGHT)};
    JTextField[] textFields=new JTextField[labels.length];
    JPanel container=new JPanel();
    container.setLayout(new BorderLayout());
    JPanel labelPanel = new JPanel(new GridLayout(labels.length, 1));
    JPanel fieldPanel = new JPanel(new GridLayout(labels.length, 1));
    container.add(labelPanel, BorderLayout.WEST);
    container.add(fieldPanel, BorderLayout.CENTER);
 
    for(int i=0;i<labels.length;i++)
    {
 
        textFields[i]=new JTextField(info[i],30);
        labels[i].setLabelFor(textFields[i]);
        labelPanel.add(labels[i]);
        JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT));
        p.add(textFields[i]);
        fieldPanel.add(p);
    }
 
    setSize(450,220);
    JPanel wrapper=new JPanel(new GridLayout());
    wrapper.add(container,new GridBagConstraints());
    addToCenter(wrapper);

Он использует свой родительский (класс, расширяющий JFrame) метод addToCenter, который получает компонент графического интерфейса и добавляет его в центр.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public abstract class ClubAbstractEntity extends JFrame{
//removed  code with initialization
public ClubAbstractEntity()
{
    JFrame frame= new JFrame();
    frame.setTitle("Club's Data");
 
    handler=new ButtonsHandler();
    mainPanel=new JPanel();
    mainPanel.setSize(450,220);
    mainPanel.setLayout(new GridLayout());
    okButton=new JButton("OK");
    okButton.addActionListener(handler);
    cancelButton=new JButton("CANCEL");
   cancelButton.addActionListener(handler);
    mainPanel.add(okButton);
    mainPanel.add(cancelButton);
}
protected void addToCenter(Component guiComponent)
{
    add(guiComponent,BorderLayout.CENTER);
}
Большое спасибо!
Миниатюры
Как добавить Gui форму на другую?   Как добавить Gui форму на другую?  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2021, 09:40
Ответы с готовыми решениями:

Как добавить QWebView на простую GUI форму?
Ну вот тут снова нубский трабл :) Создаю новый GUI проект и просто первым действием кидаю на форму элемент QWebView и при попытке...

Как добавить данные в Datagridview через другую форму?
Подскажите, как добавить данные в Datagridview из другой формы используя локальную базу данных? В качестве примера я нашел видео C#...

Добавить на ui-форму другую ui-форму
То бишь у меня есть 2 ui формы, одну из них мне нужно добавить на вторую. Надеюсь, объяснил понятно. Можете подсказать, можно ли это...

1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
04.02.2021, 20:40
Лучший ответ Сообщение было отмечено vladik7707 как решение

Решение

vladik7707,

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class Window extends JFrame {
    private JPanel main = new JPanel();
    private JPanel leftPanel = new JPanel(new GridLayout(4, 1, 5, 5));
    private JPanel centerPanel = new JPanel(new GridLayout(4, 1, 5, 5));
    private JPanel bottomPanel = new JPanel();
    private JTextField txt1 = new JTextField();
    private JTextField txt2 = new JTextField();
    private JTextField txt3 = new JTextField();
    private JTextField txt4 = new JTextField();
    private JButton btnOk = new JButton("OK");
    private JButton btnCancel = new JButton("Cancel");
    
    public Window() {
        super.setTitle("Window");
        this.setSize(400, 200);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        
        main.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
        main.setLayout(new BorderLayout(5, 5));
        
        leftPanel.add(new JLabel("Id", JLabel.RIGHT));
        leftPanel.add(new JLabel("Name", JLabel.RIGHT));
        leftPanel.add(new JLabel("Surname", JLabel.RIGHT));
        leftPanel.add(new JLabel("Tel", JLabel.RIGHT));
        
        centerPanel.add(txt1);
        centerPanel.add(txt2);
        centerPanel.add(txt3);
        centerPanel.add(txt4);
        
        bottomPanel.add(btnOk);
        bottomPanel.add(btnCancel);
        
        main.add(leftPanel, BorderLayout.WEST);
        main.add(centerPanel, BorderLayout.CENTER);
        main.add(bottomPanel, BorderLayout.SOUTH);
                
        this.getContentPane().add(main);
        this.setVisible(true);
    }
 
    public static void main(final String[] args) {
        new Window();
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2021, 20:40
Помогаю со студенческими работами здесь

Добавить форму в другую программу
Можно ли как-то перекинуть форму Form1 в программу, в которой есть другая форма Form1.

Как открыть одну форму через другую форму в winforms?
Как мне сделать так, что при выборе какой-либо опции из списка одна форма закрывалась, а другая - открывалась? Такой код полностью...

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

Как добавить запись в подчиненную форму через форму элемента?
Есть основная форма. На ней подчиненная табличная форма - список короче. Отдельно есть форма для элемента записи подчиненной формы (...

Как запустить qt gui программу, как демон, без gui, скрыв gui?
Как запустить qt gui программу, как демон, без gui, скрыв gui? В gui браузер выполняет определенные действия, и нужно запустить этот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru