Ошибка с окном JFrame при нажатии кнопки - Java

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

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

Доброго времени суток. Подскажите пожалуйста, в чем у меня ошибка. При нажатии на кнопку должна в окне показываться другая информация, но когда я её нажимаю - ничего не происходит, но как только я начинаю менять размеры открытого окна(растягивать или стягивать) - информация начинает отображаться нужная. Ниже представлен код программы(метод main в другом классе) :
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Window extends JFrame{
    JPanel panel = new JPanel();
    JPanel paneld = new JPanel();

    Window(){
        super("Historical test");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(2,3,5,10));
        JButton egypt  = new JButton("История Египта");
        JButton greece = new JButton("История Греции");
        JButton rome = new JButton("История Рима");
        JButton china = new JButton("История Китая");
        panel.add(egypt);
        panel.add(greece);
        panel.add(rome);
        panel.add(china);
        setContentPane(panel);
        setSize(400, 300);
        MyAction myAction = new MyAction();
        egypt.addActionListener(myAction);
        
        paneld.setLayout(new GridLayout(2,3,5,10));
        JButton greec = new JButton("История Греции");
        JButton rom = new JButton("История Рима");
        JButton chin = new JButton("История Китая");
        paneld.add(greec);
        paneld.add(rom);
        paneld.add(chin);
    }
    
    class MyAction implements ActionListener{
 
        public void actionPerformed(ActionEvent e) {
            setContentPane(paneld);
        }
        
    }
}

Решение задачи: «Ошибка с окном JFrame при нажатии кнопки»

textual
Листинг программы
public void actionPerformed(ActionEvent e) {
 
            setContentPane(paneld);
}

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


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

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

11   голосов , оценка 3.727 из 5
Похожие ответы