1 Востаннє редагувалося Lujok (20.11.2015 13:33:54)

Тема: Питання по Layout

моя програма має такий вигляд  див. малюнок на ньому :
панелі фіолетова та сіра ,  на сірій ще дві : помаранчева та зелена , внизу я добавив  панелі(помаранчева та зелена ) після того як вони змінили розмір  .

panel1ForFor.setLayout(new GridBagLayout());  // помаранчева панель (JPanel )
JScrollPane scrollerPanel1ForFor = new JScrollPane(panel1ForFor, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
panel2ForFor.setLayout(new GridBagLayout());   // зелена панель   (JPanel )
JScrollPane scrollerPanel2ForFor = new JScrollPane(panel2ForFor, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

panelFor2.add(scrollerPanel1ForFor ,new GridBagConstraints(0 ,0, 1,1, 1,1,
         GridBagConstraints.CENTER, GridBagConstraints.BOTH,
          new Insets(10,10,10,5),0,0 ));                                         // panelFor2 - сіра панель .
panelFor2.add(scrollerPanel2ForFor ,new GridBagConstraints(1 ,0, 1,1, 1,1,
         GridBagConstraints.CENTER, GridBagConstraints.BOTH,
          new Insets(10,5,10,10),0,0 ));

на малюнку видно як змінюються розміри в panel1ForFor та panel2ForFor відносно одна одної після того як користувач вибирає один із варіантів (три текстові поля  на зеленій панелі (panel2ForFor )). Це не дуже зручно .  Як зробити щоб ці панелі не змінювали розмір одна за рахунок іншої при цьому щоб пропорційно змінювались при змінення розмірів форми ?

Post's attachments

Плейм.png 31.86 kb, 246 downloads since 2015-11-20 

2

Re: Питання по Layout

на ціх панелях ( помаранчева та зелена ) є полоси прокрутки

Post's attachments

плеймППр.png 11.12 kb, 226 downloads since 2015-11-20 

3 Востаннє редагувалося fed_lviv (21.11.2015 18:15:00)

Re: Питання по Layout

Чесно не дуже зрозумів, що саме треба.
Запитати, про розміщення компонентів, завжди важко, оскільки, кожен розуміє по своєму.
Тому все, що можу порекомендувати це MigLayout, файна цяцька. А ось в ньому можна задати, однаковий розмір, для всіх компонентів + зміну розміра компонентів при появі вільного місця в панелі (фреймі).
P.S. А можливо розділіть дві панелі JSplitPane (+ скористайтеся його методом setDividerLocation), прицьому засуньте їх в JScrollPane.

Подякували: Lujok1

4 Востаннє редагувалося Lujok (01.12.2015 20:02:06)

Re: Питання по Layout

fed_lviv написав:

P.S. А можливо розділіть дві панелі JSplitPane (+ скористайтеся його методом setDividerLocation), прицьому засуньте їх в JScrollPane.

Я так зрозумів що в  setDividerLocation  в пікселях . Мені більш підходе  у відсотках .
Я спробував setResizeWeight(d):

double d = 0.30;               // значення від 0 до 1. У  відсотках  , наприклад  0.30 - це 30%  
splitPaneMain.setResizeWeight(d);

Це допомогло , тепер при роботі з програмою панелі не змінюють розмір коли не треба (наприклад,в моєму випадку, при натисканні мишою по кнопкам) .

Подякували: fed_lviv1

5

Re: Питання по Layout

fed_lviv написав:

можу порекомендувати це MigLayout, файна цяцька.

Я раніше працював лише ззі стандартними бібліотеками. Хочу SwingX  та MigLayout  спробувати але не виходить підключити їх до проектів в Netbeans .  Намагався як тут описано http://www.dokwork.ru/2011/10/swingx-netbeans-faq.html   але не вийшло (просто таких jar-файлів незнайшов). Також пробував просто проекти - библиотеки-добавити файл jar/папку.

6 Востаннє редагувалося Lujok (01.12.2015 20:01:11)

Re: Питання по Layout

Lujok написав:
fed_lviv написав:

можу порекомендувати це MigLayout, файна цяцька.

Я раніше працював лише ззі стандартними бібліотеками. Хочу SwingX  та MigLayout  спробувати але не виходить підключити їх до проектів в Netbeans .  Намагався як тут описано http://www.dokwork.ru/2011/10/swingx-netbeans-faq.html   але не вийшло (просто таких jar-файлів незнайшов). Також пробував просто проекти - библиотеки-добавити файл jar/папку.


А ні . здається вийшло . Тут треба було так :

import org.jdesktop.swingx.JXTable;

а я трошки не вірно  писав.