Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/76: Рейтинг темы: голосов - 76, средняя оценка - 4.68
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть несколько вопросов по работе с компонентом jPanel:
1) я добавил на mainPanel JPanel, выставил галочку возле autoscroll, изменил размер jPanel, теперь его размеры больше mainPanel, а линеек прокрутки нет - как быть.
2) как я уже писал выше, я изменяю размеры jPanel при помощи метода setSize(бла-бла, бла-бла), но при изменении размеров формы или её сворачивании, перемещении размер jPanel принимает значение по умолчанию (0, 0) - как быть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2009, 12:45
Ответы с готовыми решениями:

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

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

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

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

10
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
21.12.2009, 22:29 2
Советую писать ГУИ самому а не через ИДЕ в имя панели точка и там есть опция на автоскролл
0
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
27.12.2009, 18:54  [ТС] 3
Спасибо за совет - буду писать всё ручками. Остался только один вопрос по 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  [ТС] 4
Рисунок 3 для наглядности немного подправил. Смотрите рисунок 5.
Миниатюры
Работа с компонентом jPanel  
0
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
28.12.2009, 00:28 5
попробуй или так или наоборот 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  [ТС] 6
К сожалению не помогло. Вот что-то очень близкое к тому, что мне нужно получить - если размер 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
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
28.12.2009, 15:14 7
jPanel не растягивается и не сжимается =))если честно не понимаю формулировку вопроса все путаеться в вашем обьяснении
0
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
29.12.2009, 08:47  [ТС] 8
Необходимо каким-то образом закрепить JPanel на JScrollPane (или JScrollPane на JPanel) строго в левом-верхнем углу, чтобы при ресийзинге главного фрэйма (или ContentPane) этот JPanel (или JScrollPane) не перемещался к центру главного фрэйма (или ContentPane).
0
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
29.12.2009, 14:36 9
так судя по рисункам утебя там ничего никуда не перемещается
1
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
29.12.2009, 15:27  [ТС] 10
lifestyle, спасибо, что пытался помочь. Наконец-то решение было найдено - на JScrollPane добавил JPanel1, а на JPanel1 добавил ещё JPanel2, при этом установив у JPanel1 setLayout(null), а у JPanel2 setBounds(). Работает как мне надо.
0
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
29.12.2009, 16:00 11
покажи хоть как стало работать интеренсо что я понять не мог)
0
29.12.2009, 16:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2009, 16:00
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru