Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление компонентов при возникновении события, компонент не отображается 
V
    Опции темы
Nestor
Дата 19.5.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 15.4.2007
Где: Одесса

Репутация: нет
Всего: 1



Здравствуте! Такая проблема. 
В апплете находится счетчик (JSpinnner), кнопка. При нажатии кнопки апплет должен обработать значение, находящееся в счетчике и создать что-то типа матрицы из экземпляров JTextField. То есть при нажатии кнопки старая панель с текстовыми полями удаляется и создается новая, куда и помещаются новые поля. Но новосозданная панель не отображается. Я запускал в Eclipse, после нажатии кнопки удаляется панель, а при изменении размеров окошка (созданное Эклипсом) появляется панель с правильным количеством текстовых полей. Но почему же новая панель не отображается сразу? Вот это я запускал:
.
Код


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Ex extends JApplet{

    JPanel panel3; JPanel panel2; JSpinner spinner; JTextField[][] jTF;Container c;
    int count = 0;
    public void init(){
        
        c = getContentPane();
        c.setLayout(new BorderLayout());
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        panel2 = new JPanel(new FlowLayout());
        

        spinner = new JSpinner(new SpinnerNumberModel(1,1,5,1));
    
        JButton pusk = new JButton("ПУСК");
        pusk.addActionListener(new ActionListener(){

            public void actionPerformed(ActionEvent arg0) {
                
                count++;
                if(count!=1)
                    panel2.remove(panel3);
                
                int x = (Integer)spinner.getValue();
                panel3 = new JPanel( new GridLayout(x,x));
                panel3.setPreferredSize(new Dimension(x*100,x*50));
                jTF = new JTextField[x][x];

                for(int i =0; i<x;i++){
                    for(int j = 0; j < x; j++)
                        jTF[i][j] = new JTextField(5);
                }

                for(int i =0; i<x;i++){
                    for(int j = 0; j < x; j++)
                        panel3.add(jTF[i][j]);
                }    
                
                panel2.add(panel3);
            }
            
        });
        
        panel.add(spinner);
        panel.add(pusk);
        c.add(panel2);
        c.add(panel, BorderLayout.NORTH);

    }
}


Буду благодарен за помощь. А то времени совсем мало.

PM MAIL   Вверх
powerOn
Дата 19.5.2007, 21:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 2
Всего: 159



вызови validate() для контейнера на который добавляешь свои компонент.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Nestor
Дата 19.5.2007, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 15.4.2007
Где: Одесса

Репутация: нет
Всего: 1



powerOn, 
Огромнейшее спасибо!
PM MAIL   Вверх
powerOn
Дата 19.5.2007, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 2
Всего: 159



незачто. smile


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.