Как перерисовать JPanel в Java Swing

Узнай цену своей работы

Формулировка задачи:

привет. как перерисовать содержимое JPanel? например на панели1 есть лейблы,кнопки и филды. а на панели2 есть кнопка при нажатии которой с первой панели будет все удаляться и рисоваться новые кнопки и тд. можно ли такое реализовать?

Решение задачи: «Как перерисовать JPanel в Java Swing»

textual
Листинг программы
  1. package main;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. public class Main {
  7.  
  8.     public static void main(String[] args) {
  9.         JFrame frame = new JFrame("My Frame");
  10.         frame.setLayout(new FlowLayout());
  11.  
  12.         JPanel panel1 = new JPanel();
  13.         panel1.setLayout(new FlowLayout());
  14.         panel1.setBorder(BorderFactory.createEtchedBorder());
  15.  
  16.         JPanel panel2 = new JPanel();
  17.         panel2.setLayout(new FlowLayout());
  18.         panel2.setBorder(BorderFactory.createEtchedBorder());
  19.  
  20.         JLabel label1 = new JLabel("Label 1");
  21.         JLabel label2 = new JLabel("New label. Label 2");
  22.  
  23.         JButton button = new JButton("Change");
  24.         button.addActionListener(e -> {
  25.             panel1.removeAll();
  26.  
  27.             panel1.add(label2);
  28.             frame.repaint();
  29.             frame.revalidate();
  30.             frame.pack();
  31.             frame.setLocationRelativeTo(null);
  32.         });
  33.  
  34.         panel1.add(label1);
  35.         panel2.add(button);
  36.  
  37.         frame.add(panel1);
  38.         frame.add(panel2);
  39.  
  40.         frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  41.         frame.pack();
  42.         frame.setLocationRelativeTo(null);
  43.         frame.setVisible(true);
  44.     }
  45. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут