АY> Имеюся два списка. В зависимости от того что
АY> выбрано в первом списке, содержание второго должно
АY> меняться. Все бы хорошо, но никакого изменения не
АY> проишодит пока не подергаю за край окошка (изменю
АY> чуть-чуть размер). Явно ошибка где-то, но где
АY> понять не могу. Hе могли бы вы взглянуть этот код?
Проблема в том, что неправильно используешь визуальные компоненты. Я бы
сказал, мягко говоря не принято добавлять/заново добавлять компоненты так, как
это делаешь ты. Eсли он тебе уж очень мешает - делай setVisible() на ненужный
компонент (тот, который ты хочешь скрыть).
A тот пример, что у тебя, заработает если ты после add(listActions)
добавишь методы validate() и repaint() (для контейнера). Kогда ты ресайзишь
форму, они выполняются.
АY> Я упростил его до предела. Спасибо
Hе следовало видимо. У JDialog нет метода add() к примеру. Для него
используется getContentPane().add().
АY> Объяснение принципов помогает думать. Примеры учат обезьянничать.
Хватит провоцировать народ. Или перестань писать примеры. :)
ES> Проблема в том, что неправильно
используешь визуальные компоненты. Я бы
ES> сказал, мягко говоря не принято
добавлять/заново добавлять компоненты так, как
ES> это делаешь ты. Eсли он тебе уж очень мешает -
делай setVisible() на ненужный
ES> компонент (тот, который ты хочешь скрыть).
"не принято" это да, но, наверное, у этого "не
принято" есть какая-то причина. Какая?
.
ES> У JDialog нет метода add() к примеру. Для него
ES> используется getContentPane().add().
Опьять же: а почему? метод add() наследуется от
родительского объекта Container и вроде даже
прекрасно работает. Почему его нельзя использовать?
ES> АY> Объяснение принципов помогает думать.
Примеры учат обезьянничать.
ES> Хватит провоцировать народ. Или перестань
писать примеры. :)
Ну я примеры не привожу, а показываю неработаюший
код. Все-таки разница. Но фразу эту надо убрать.
Любая подпись достает через некоторое время. И
больше всего того, кто ее чаше видит (меня то есть).
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
ES> не принято добавлять/заново добавлять
ES> компоненты Eсли он тебе уж очень мешает
ES> - делай setVisible() на ненужный
ES> компонент (тот, который ты хочешь скрыть).
что-то у меня так не получается. Последний
добавленный компонент вытесняет предидущий.
Например, мне нужно заменить один компонент другим
в одной и той же позиции на форме, скажем JLabel и
JTextArea. Пытаюсь следовать Вашему объяснению и
добавляю оба:
this.add(textArea, BorderLayout.CENTER);
textArea.setVisible(false);
this.add(lablel, BorderLayout.CENTER);
Потом нажатием кнопки:
lablel.setVisible(! lablel.isVisible());
textArea.setVisible(! textArea.isVisible());
lablel прячется, а textArea не появляется.
Естественно, если последним добавить textArea, то
виден/прячется только он. Что я не понял в Вашем
общъяснении?
--
.......................................................
Если надумаете е-мылить - лучше
andreyz2000#hotmail com