Impedir acesso ao JFrame

Eu fiz meu Jframe com uma JFrameBar.
Quando clica-se em um JFrameItem(“novo” por exemplo), quero que abra uma nova JFrame e impessa o acesso ao JFrame principal enquanto ela estiver aberta, assim como acontece quando vc clica em “salvar como…” no Word.
Alguém poderia me ajudar?

[quote=charlie_ti]Eu fiz meu Jframe com uma JFrameBar.
Quando clica-se em um JFrameItem(“novo” por exemplo), quero que abra uma nova JFrame e impessa o acesso ao JFrame principal enquanto ela estiver aberta, assim como acontece quando vc clica em “salvar como…” no Word.
Alguém poderia me ajudar?[/quote]

Use um JDialog e não um JFRame.
No JDialog vc pode colocar como setModal(true), sacou ?


public class Exemplo extends JFrame 
{ 
   public static void main(String args[]) 
   { 
      new Exemplo(); 
   } 
   
   private Exemplo() {
   JButton button = new JButton("Abrir JDialog");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                openDialog();
            }
        });
        
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setTitle("Exemplo de JDialog");
        this.getContentPane().add(new JLabel(
                "<html>Aperte o botao para abrir um dialogo<br>" +
                "Feche a janela para terminar</html>"));
        this.getContentPane().add(button, BorderLayout.SOUTH);
        this.setSize(300, 200);
        this.setLocationRelativeTo(null);
        this.setVisible(true);
   }
   
   private void openDialog() {
       JDialog dialog = new JDialog();
       dialog.getContentPane().add(new JLabel("<html>feche esse dialogo<br>" +
            "para continuar</html>"));
       dialog.setModal(true);
       dialog.pack();
       dialog.setVisible(true);
   }
} 

:roll: