JPanel Проблема в Java - PullRequest
       1

JPanel Проблема в Java

0 голосов
/ 30 января 2011

Добрый день!

У меня проблема с перезагрузкой содержимого моего JPANEL. Есть ли способ удаления всего содержимого JPANEL?

Я играю в HangMan. И мне нужно инициализировать мою панель, чтобы перейти на следующий уровень. Моя панель создана с использованием графического интерфейса Netbeans, и все исправлено (даже положение и размер).

Мой ОБРАЗЕЦ код выглядит следующим образом:

 public MainGame(JDialog owner) {
        super(owner, true);
        initComponents();
        newGame();
    }

    void newGame() {
         jPanel3.setLayout(new GridLayout(3, 9, 3, 5));
         for (char buttonChar = 'a'; buttonChar <= 'z'; buttonChar++) {
             String buttonText = String.valueOf(buttonChar);
             letterButton = new JButton(buttonText);
             letterButton.addActionListener(this);
             jPanel3.add(letterButton);
         }
    }

    void checkHame(){
         newGame();   //I CALL AGAIN TO GO TO THE NEXT LEVEL...
    }

В моем коде jPanel3 создается с использованием графического интерфейса NetBeans. Моя проблема заключается в том, что при первом вызове метода newGame JPanel3 заполняется содержимым. Мне нужно удалить все содержимое внутри для моего второго вызова newGame, иначе все содержимое ДОБАВИТСЯ или удвоится.

Любые предложения будут высоко оценены.

Спасибо еще раз!

Приветствие.

Ответы [ 3 ]

2 голосов
/ 30 января 2011

Также вам может понадобиться вызвать revalidate () & repaint () после removeAll

2 голосов
/ 30 января 2011

Как насчет выполнения jPanel3.removeAll() до определения for loop?

для removeAll(): -

public void removeAll ()

Removes all the components from this container.
1 голос
/ 30 января 2011

Вы можете использовать метод removeAll.

Вместо того, чтобы удалять компоненты, вы можете просто восстановить исходное состояние кнопок и просто повторно использовать кнопки.

...