|
|
|
Swing
|
|||
|---|---|---|---|
|
#18+
Есть окно на нем лежит тулбар, на тулбаре лежит 2 кнопки(к1 и к2). Мне нужно, чтобы при нажатии на кнопку к1, на окно добавлялся класс1 который extend JPanel, а при нажатии на к2, класс 2,который также extend JPanel. Делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 18:53 |
|
||
|
Swing
|
|||
|---|---|---|---|
|
#18+
peter6636 > Есть окно на нем лежит тулбар, на тулбаре лежит 2 кнопки(к1 и к2). > Мне нужно, чтобы при нажатии на кнопку к1, на окно добавлялся > класс1 который extend JPanel, а при нажатии на к2, класс 2,который > также extend JPanel. > Делаю так: > void к1_actionPerformed(ActionEvent e) {glav=new > Класс1();if(company!=null)contentPane.remove(company); > contentPane.add(glav,BorderLayout.CENTER);this.repaint(); } > Для к2: > void к2_actionPerformed(ActionEvent e) {company=new > Класс2();if(glav!=null)contentPane.remove(glav); > contentPane.add(company,BorderLayout.CENTER);this.repaint(); } > Нажимаю ничего не появляется, а когда растягиваю или сжимаю окно > на котором это все лежит, появляется один из классов.Почему они не > появляются сразу,я же поставил this.repaint(); > СпасибоТема==Ответить из книги Swing - эффективные пользовательские интерфейсы быстро листая нашел только: glav.revalidate() ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 19:30 |
|
||
|
Swing
|
|||
|---|---|---|---|
|
#18+
peter6636 > Есть окно на нем лежит тулбар, на тулбаре лежит 2 кнопки(к1 и к2). > Мне нужно, чтобы при нажатии на кнопку к1, на окно добавлялся > класс1 который extend JPanel, а при нажатии на к2, класс 2,который > также extend JPanel. > Делаю так: > void к1_actionPerformed(ActionEvent e) {glav=new > Класс1();if(company!=null)contentPane.remove(company); > contentPane.add(glav,BorderLayout.CENTER);this.repaint(); } > Для к2: > void к2_actionPerformed(ActionEvent e) {company=new > Класс2();if(glav!=null)contentPane.remove(glav); > contentPane.add(company,BorderLayout.CENTER);this.repaint(); } > Нажимаю ничего не появляется, а когда растягиваю или сжимаю окно > на котором это все лежит, появляется один из классов.Почему они не > появляются сразу,я же поставил this.repaint(); > СпасибоТема==Ответить кстати, подумал: а this к кому относится? кусок кода надо побольше ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 19:32 |
|
||
|
Swing
|
|||
|---|---|---|---|
|
#18+
this всегда отностися к экземпляру класса, в котором объявлен метод. Т.е. в данном случае - к обработчику. Правильнее, мне кажется, добавить сразу оба класса, а по нажатию кнопок просто показывать/прятать панели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:56 |
|
||
|
Swing
|
|||
|---|---|---|---|
|
#18+
Есть така штука как Кардлейаут <code>java.awt.CardLayout </code>. Если я правильно понял, то это то что Вам нужно. Содержит в себе набор компонентов (как карты в колоде :) ) сверху всегда только один. Потом можно переключать на любой другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 12:14 |
|
||
|
Swing
|
|||
|---|---|---|---|
|
#18+
JozicЕсть така штука как Кардлейаут <code>java.awt.CardLayout </code>. Если я правильно понял, то это то что Вам нужно. Содержит в себе набор компонентов (как карты в колоде :) ) сверху всегда только один. Потом можно переключать на любой другой. Не правильно понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33308196&tid=2151304]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 301ms |

| 0 / 0 |
