Я пытаюсь закрыть JPanel
поверх моей JFrame
.
Теперь я хочу закрыть эту панель, нажав кнопку в верхней части этой панели, и открыть другую панель наодна и та же рамка.
Все мои панели и моя рамка находятся в отдельном классе.
Вот моя идея:
JFrame
Класс
public MainFrame() throws IOException {
InitializeStartScreen();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setLocationRelativeTo(null);
this.setIconImage(FrameTopIcon.getImage());
this.setTitle("test");
this.setVisible(true);
}
private void InitializeStartScreen() {
StartPanel startPNL = new StartPanel();
this.add(startPNL);
// pack();
}
public static void main(String args[]) throws IOException {
try {
new MainFrame();
}
catch (IOException e) {
throw e;
}
}
JPanel
Класс
import javax.swing.*;
import java.awt.*;
public class StartPanel extends JPanel {
private LabelButtonCategory Button1 = new LabelButtonCategory("test");
public StartPanel() {
this.setLayout(new GridBagLayout());
InitializeLabelButtons();
this.setBackground(backgroundColor);
this.add(gridPanel);
this.setVisible(true);
}
private void InitializeLabelButtons() {
button1Panel.setBackground(backgroundColor);
ImageIcon iconBtn1 = new ImageIcon("./src/images/CreateBill.png");
Button1.setIcon(iconBtn1);
Button1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
Button1MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
Button1MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
Button1MouseExited(evt);
}
});
button1Panel.add(Button1);
gridPanel.add(button1Panel);
private void Button1MouseClicked(java.awt.event.MouseEvent evt) {
// CLOSE THIS PANEL AND OPEN ANOTHER PANEL ON FRAME
}