10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101

Работа с компонентом jPanel

21.12.2009, 12:45. Показов 15008. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть несколько вопросов по работе с компонентом jPanel:
1) я добавил на mainPanel JPanel, выставил галочку возле autoscroll, изменил размер jPanel, теперь его размеры больше mainPanel, а линеек прокрутки нет - как быть.
2) как я уже писал выше, я изменяю размеры jPanel при помощи метода setSize(бла-бла, бла-бла), но при изменении размеров формы или её сворачивании, перемещении размер jPanel принимает значение по умолчанию (0, 0) - как быть.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2009, 12:45
Ответы с готовыми решениями:

Работа с Jpanel
Подскажите пожалуйста, как можно работать с двумя и более панелями на одном фрэйме? Создаю две панели кидаю на фрэйм, а вторая панель...

Работа с JPanel
Привет всем, и опять у меня вопрос=) Игрался я с Swing а именно с JPanel import java.awt.*; import java.swing.*; public class...

Добавление JPanel на JPanel, не отображаются те, которые добавлены сверху
Здравствуйте. У меня есть панель fon на которой у меня картинка с фоном и 15 панелей на которых нарисованы шарики,пытаюсь добавить панели с...

10
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
21.12.2009, 22:29
Советую писать ГУИ самому а не через ИДЕ в имя панели точка и там есть опция на автоскролл
0
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
27.12.2009, 18:54  [ТС]
Спасибо за совет - буду писать всё ручками. Остался только один вопрос по JPanel и JScrollPane.
Добавляю JPanel на JScrollPane следующим образом:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
JFrame frame = new JFrame("Practice_Draw_Pen_JAVA");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
 
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(300, 300));
panel.setBackground(Color.WHITE);
 
JScrollPane jScrollPane = new JScrollPane(panel);
jScrollPane.setViewportBorder(new LineBorder(Color.RED));
jScrollPane.setAutoscrolls(true);
 
frame.add(jScrollPane);
Проблема в следующем: JPanel растягивается по всему компоненту JScrollPane - а мне это не нужно, потому что размеры JPanel я меняю динамически. Так вот, как сделать так, чтобы JPanel не растягивался по JScrollPane (как на рисунке 3); но при этом линейки прокрутки появлялись бы в случае если размер JPanel превышает размер JScrollPane (как на рисунке 4)?
Миниатюры
Работа с компонентом jPanel   Работа с компонентом jPanel  
0
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
27.12.2009, 18:57  [ТС]
Рисунок 3 для наглядности немного подправил. Смотрите рисунок 5.
Миниатюры
Работа с компонентом jPanel  
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
28.12.2009, 00:28
попробуй или так или наоборот jScrollPane.add(panel); frame.add(jScrollPane);
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
JFrame frame = new JFrame("Practice_Draw_Pen_JAVA");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
 
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(300, 300));
panel.setBackground(Color.WHITE);
 
JScrollPane jScrollPane = new JScrollPane(panel);
jScrollPane.setViewportBorder(new LineBorder(Color.RED));
jScrollPane.setAutoscrolls(true);
 
panel.add(jScrollPane);
frame.add(panel);
0
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
28.12.2009, 14:09  [ТС]
К сожалению не помогло. Вот что-то очень близкое к тому, что мне нужно получить - если размер JScrollPane меньше видимой области JPanel, то JScrollPane не растягивается по JPanel (рисунок 6). Добавляю JScrollPane на JPanel, но есть одна загвоздка - если сжимать форму(а вместе с ней сжимается и JPanel), то если размер JScrollPane больше размера видимой области, то линейки/полосы прокрутки на JPanel не появляются (рисунок 7). Как быть?
Так я добавляю JScrollPane на JPanel:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
JFrame frame = new JFrame("Practice_Draw_Pen_JAVA");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
 
JPanel panel = new JPanel();
panel.setBackground(Color.RED);
panel.setLayout(null);
panel.setAutoscrolls(true);
 
JScrollPane js = new JScrollPane();
js.setBounds(0, 0, 400, 400);
js.setViewportBorder(new LineBorder(Color.BLUE));
panel.add(js);
 
frame.add(panel);
Миниатюры
Работа с компонентом jPanel   Работа с компонентом jPanel  
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
28.12.2009, 15:14
jPanel не растягивается и не сжимается =))если честно не понимаю формулировку вопроса все путаеться в вашем обьяснении
0
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
29.12.2009, 08:47  [ТС]
Необходимо каким-то образом закрепить JPanel на JScrollPane (или JScrollPane на JPanel) строго в левом-верхнем углу, чтобы при ресийзинге главного фрэйма (или ContentPane) этот JPanel (или JScrollPane) не перемещался к центру главного фрэйма (или ContentPane).
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
29.12.2009, 14:36
так судя по рисункам утебя там ничего никуда не перемещается
1
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
29.12.2009, 15:27  [ТС]
lifestyle, спасибо, что пытался помочь. Наконец-то решение было найдено - на JScrollPane добавил JPanel1, а на JPanel1 добавил ещё JPanel2, при этом установив у JPanel1 setLayout(null), а у JPanel2 setBounds(). Работает как мне надо.
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
29.12.2009, 16:00
покажи хоть как стало работать интеренсо что я понять не мог)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.12.2009, 16:00
Помогаю со студенческими работами здесь

Как правильно задать размер JPanel чтобы JFrame при pack() сжимался до размеров JPanel
Подскажите как правильно задать размер JPanel чтобы JFrame при pack() сжимался до размеров JPanel, задание размеров при помощи setSize...

Удаление JPanel кнопкой на этом же JPanel
Есть JPanel объекты, которые представляют собой панельки с какой - то информацией, на них есть кнопка. Как сделать так, чтобы при нажатии...

Замена JPanel на JPanel в JFrame
У меня есть 3 класса. Первый класс Main наследуется от JFrame и в конструкторе установка размера и добавление JPanel второго класса....

JPanel panel_south=new JPanel(); JTextArea textArea=new JTextArea(); Где ошибка?
JPanel panel_south=new JPanel(); JTextArea textArea=new JTextArea(); Label label=new JLabel(' '); ...

Работа с компонентом DbEdit
Подскажите как можно запретить вводить пробелы точки, цифры и т. д. в общем все кроме букв при этом сделать так чтобы при вводе 1-й...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru