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

Адаптивный макет Java

07.08.2020, 17:44. Показов 1007. Ответов 0

Студворк — интернет-сервис помощи студентам
Проблема во в чем: Панели в JFrame располагаются как надо, но если запустить программу на компьютере с большим или меньшим разрешением экрана всё плывёт(панели становятся меньше, не правильно стоят, JFrame выходит за рамки экрана и т.д)
Помогите разобраться, пожалуйста, буду очень благодарен)))
Параметры окна:
Java
1
2
3
4
5
6
7
                setTitle("wind");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(Toolkit.getDefaultToolkit().getScreenSize());
        setExtendedState(JFrame.MAXIMIZED_BOTH);
        setUndecorated(true);
        setFocusable(true);     
        setVisible(true);
Сами панели:
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
contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(new BorderLayout(0, 0));
        contentPane.setBackground(new Color(192, 192, 192));
        contentPane.add(pan1, BorderLayout.CENTER);
 
        panel = new JPanel();
        panel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 69, 0), 2, true));
        contentPane.add(panel, BorderLayout.CENTER);
        panel.setBackground(new Color(192, 192, 192));
 
        BtnScroll = new JScrollPane(btnPane);   
        BtnScroll.setOpaque(false);
        BtnScroll.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 69, 0), 2, true));
        BtnScroll.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        BtnScroll.setVerticalScrollBarPolicy   (JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);  
        BtnScroll.getVerticalScrollBar().setUnitIncrement(20);
 
MarkerScroll = new JScrollPane(pan1);                                                              
        MarkerScroll.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 69, 0), 2, true)); 
        MarkerScroll.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);                 
        MarkerScroll.setVerticalScrollBarPolicy   (JScrollPane.VERTICAL_SCROLLBAR_NEVER);
 
TextScroll = new JScrollPane(TextPanel);
        TextScroll.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 69, 0), 2, true));
        TextScroll.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        TextScroll.setVerticalScrollBarPolicy   (JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
Как я располагаю элементы:
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
GroupLayout gl_panel = new GroupLayout(panel);
        gl_panel.setHorizontalGroup(
                gl_panel.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel.createSequentialGroup()
                        .addGap(6)
                        .addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
                                .addGroup(gl_panel.createSequentialGroup()
                                        .addGap(2)
                                        .addContainerGap()                                      
                                        .addComponent(MarkerScroll, GroupLayout.PREFERRED_SIZE, 1150, GroupLayout.PREFERRED_SIZE))
                                .addGroup(gl_panel.createSequentialGroup()
                                        .addGap(2)
                                        .addContainerGap()                                      
                                        .addComponent(TextScroll, GroupLayout.PREFERRED_SIZE, 1150, GroupLayout.PREFERRED_SIZE))
                                .addGroup(gl_panel.createSequentialGroup()
                                        .addGap(1160)
                                        .addContainerGap()
                                        .addComponent(BtnScroll, GroupLayout.PREFERRED_SIZE, 180, GroupLayout.PREFERRED_SIZE)
                                        ))));
        gl_panel.setVerticalGroup(
                gl_panel.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel.createSequentialGroup()
                        .addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
                                .addGroup(gl_panel.createSequentialGroup()                                      
                                        .addGap(2)
                                        .addComponent(MarkerScroll, GroupLayout.PREFERRED_SIZE, 600, GroupLayout.PREFERRED_SIZE)    
                                        .addGap(2)
                                        .addGroup(gl_panel.createParallelGroup(Alignment.BASELINE))
                                        .addGap(18))
                                .addGroup(gl_panel.createSequentialGroup()
                                        .addGap(2)
                                        .addComponent(BtnScroll, GroupLayout.PREFERRED_SIZE, 720, GroupLayout.PREFERRED_SIZE)
                                        .addGap(22)
                                        .addGroup(gl_panel.createParallelGroup(Alignment.BASELINE))
                                        .addGap(18))
                                .addGroup(gl_panel.createSequentialGroup()
                                        .addGap(604)
                                        .addComponent(TextScroll, GroupLayout.PREFERRED_SIZE, 118, GroupLayout.PREFERRED_SIZE)
                                        .addGap(22)
                                        .addGroup(gl_panel.createParallelGroup(Alignment.BASELINE))
                                        .addGap(18))
                                )));
        panel.setLayout(gl_panel);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.08.2020, 17:44
Ответы с готовыми решениями:

Адаптивный макет
Здравствуйте! У меня на форме есть две Panel напротив друг друга. У левой панели свойство Width задаётся относительно правой...

Адаптивный макет
Добрый. Такая проблема: есть сайт http://dto.itzone.by/, макет резиновый, с ноута и стационара работает норм, а вот на мобильных...

Адаптивный макет Landing page
Подскажите, где нибудь можно скачать адаптивный макет для тренировки ? Толи я плохо ищу, не получается найти... Макеты вообще есть, но...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.08.2020, 17:44
Помогаю со студенческими работами здесь

Нужен адаптивный PSD макет под 12 колонок. Идеально для Bootstrap
Всем привет! Может у кого завалялся таковой? Буду благодарен. Нужен для личного не коммерческого использования (вдруг чего). И что бы были...

Нужен адаптивный PSD макет под 12 колонок. Идеально для Bootstrap
Всем привет! Может у кого завалялся таковой? Буду благодарен. Нужен для личного не коммерческого использования (вдруг чего). И что бы были...

Макет отчета. Не получается Вывод данных о сумме в макет
Не могу разобраться с применением метода Присоединить к ТабДоку. В частности с выводом данных СуммаДокумента Процедура...

Адаптивный шаблон
Подскажите, какие основные коды влияют на адаптивный шаблон? И как правильно делать эти шаблоны?

адаптивный фон
Всем здравствуйте!! Подскажите решение. Нужно сверху страницы на всю ширину окна замостить по горизонтали картинку: width: 248px; и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
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