Mostrar InternalFrame na frente do Glasspane

Dec 21 2020

Quero que um InternalFrame seja mostrado na frente de um GlassPane. No meu programa, o usuário deve ser capaz de clicar em FILE -> Settings e um InternalFrame deve ser exibido. Tudo no fundo deve ser coberto com um GlassPane. Alguém tem uma ideia?

m21.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Settings settings = new Settings();

        //get the InternalFrame
        settings.getFrame().setBounds(100,100,getWidth()-200, getHeight()-200);
        settings.getFrame().toFront();

        setGlassPane(new Glass());
        getGlassPane().setVisible(true);

        //get the InternalFrame
        getLayeredPane().add(settings.getFrame(), BorderLayout.NORTH);
        getLayeredPane().moveToFront(settings.getFrame());

        repaint();
    }
});

Respostas

RetoHöhener Dec 21 2020 at 14:43

O objetivo do painel de vidro é estar na frente de todo o resto:

No entanto, você pode definir qualquer componente como painel de vidro. Minha sugestão é que você empurre o conteúdo do seu quadro de configurações como um painel de vidro.