Mình có các file Java sau:
JFrameA.java (extends JFrame)
JPanelB.java (extends JPanel) có add button B
JPanelC.java (extends JPanel)
Trên JFrameA đã có add một JPanelA và ở JPanelA có một JButton A. Mình set up button A sao cho khi click vào nó thì:
this.remove(JPanelA);
this.add(new JPanelB);
Bây giờ thì mình có JPanelB nằm trong JFrameA. Bây giờ mình muốn nếu mình click và button B thì JFrameA sẽ remove JPanelB và add(JPanelC). Nhưng như mình không biết gọi lại JFrameA như thế nào cả. Đây là giải pháp tạm thời của mình:
Mình set up trong button B như sau:
JFrameA fr = new JFrameA();
fr.remove(JPanelA); // vì JPanelA được add sẵn trong fr
fr.add(JPanelB);
fr.setVisible(true);
Cách này nó củng cho kết quả tương tự nhưng nó xuất hiện thêm một cửa sổ nữa, bên cạnh của sổ JFrameA mình run lúc đầu ( tộng cộng mình run JFrameA 2 lần).
Mình muốn có thể làm việc trên JFrameA ban đầu nhưng nghĩ mãi không ra. Ai có giải pháp cho vấn đề này không ạ.
Em cảm ơn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?