Как можно добавить JPanel из одного класса в другой?

Почему при замене кода создания объекта JPanel из "JPanel card2 = new JPanel(); card2.add(new JButton());" на "JPanel card2 = null; try { card2 = new WrmJPanel(); } catch (IOException e) { throw new RuntimeException(e); } catch (AWTException e) { throw new RuntimeException(e); }" при переключении на card2 появляется пустое окно?
  • 24 декабря 2023 г. 18:07
Ответы на вопрос 1
Чтобы добавить JPanel из одного класса в другой, можно использовать методы контейнера, такие как add(). Например, если у вас есть класс, содержащий JPanel с именем containerPanel, и другой класс, в котором вы хотите добавить этот JPanel, вы можете сделать следующее:

```java
// В классе, в котором нужно добавить JPanel
Container container = getContentPane(); // или любой другой контейнер
YourPanel panel = new YourPanel(); // создание объекта JPanel
container.add(panel); // добавление панели в контейнер
```

Теперь о второй части вашего вопроса. При замене кода создания объекта JPanel на "JPanel card2 = null; try { card2 = new WrmJPanel(); } catch (IOException e) { throw new RuntimeException(e); } catch (AWTException e) { throw new RuntimeException(e); }", если при переключении на card2 появляется пустое окно, то, вероятно, ваш новый JPanel (WrmJPanel) не содержит никаких компонентов (таких как кнопки, текстовые поля и т. д.). Убедитесь, что вы добавили все необходимые компоненты в ваш новый JPanel, чтобы они были видны при его отображении.
Похожие вопросы