Если я нажимаю на элемент меню «включить», он показывает панель, но только если я сначала setVisible(false)
, если я удаляю эту строку, он перестает работать.
В ActionListener
я для menuItem
я создаю новую панель с меткой внутри, но эта метка будет отображаться на экране только в том случае, если после ее создания я сначала вызову setVisible(false)
.
MainWindow. java
package main;
import javax.swing.*;
import java.awt.*;
@SuppressWarnings("serial")
public class MainWindow extends JFrame {
MainWindow() {
super("Carros");
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setExtendedState(Frame.MAXIMIZED_BOTH);
this.getContentPane().setLayout((null));
getContentPane().setLayout(null);
JMenuBar jMenuBar = new JMenuBar();
jMenuBar.setBounds(0, 0, 606, 21);
this.getContentPane().add(jMenuBar);
JMenu carMenu = new JMenu("Carros");
jMenuBar.add(carMenu);
JMenuItem includeMenuItem = new JMenuItem("Incluir");
carMenu.add(includeMenuItem);
includeMenuItem.addActionListener(e -> showIncludePanel());
}
private void showIncludePanel() {
JPanel panel = new JPanel();
panel.setVisible(false);
panel.setBounds(5, 20, 431, 241);
this.getContentPane().add(panel);
JLabel label = new JLabel("Primeiro panel");
panel.add(label);
panel.setVisible(true);
}
}
Main. java
package main;
public class Main {
public static void main(String[] args) {
MainWindow mainWindow = new MainWindow();
mainWindow.setVisible(true);
}
}