Afficher le cadre interne devant la vitre

Dec 21 2020

Je veux qu'un InternalFrame soit affiché devant un GlassPane. Dans mon programme, l'utilisateur devrait pouvoir cliquer sur FILE -> Settings et un InternalFrame devrait être affiché. Tout ce qui se trouve en arrière-plan doit être recouvert d'un GlassPane. Quelqu'un a-t-il une idée?

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();
    }
});

Réponses

RetoHöhener Dec 21 2020 at 14:43

L'intérêt de la vitre est d'être devant tout le reste:

Cependant, vous pouvez définir n'importe quel composant comme vitre. Ma suggestion serait que vous poussiez le contenu de votre cadre de paramètres comme vitre.