J'ai une fenêtre (dérivée de JFrame) et je veux désactiver le bouton de fermeture pendant certaines opérations qui ne sont pas interruptibles. Je sais que je peux faire en sorte que le bouton ne fasse rien (ou appeler un gestionnaire dans un WindowListener) en appelant
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
mais je tiens à préciser visuellement qu'il est inutile de cliquer dessus.
Si je comprends bien, ce rapport de bogue indique que cela n’est actuellement pas possible.
C'est probablement le meilleur que vous obtiendrez:
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.NONE);
Ceci supprimera toute la barre de titre, Java ne spécifiant pas vraiment un moyen de supprimer des composants individuels de la barre de titre
modifier:
Il peut y avoir un moyen, consultez ces discussions:
Pour ceux qui arrivent au plus tard en 2008, un changement a été rendu possible. Voir ce lien
La deuxième réponse à partir du bas montre comment le faire par nom.
Cela vous aidera
frame.setDefaultCloseOperation(0);
Pour simplement les faire disparaître, essayez ce qui suit:
setUndecorated(true);
S'il vous plaît essayez ceci
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
e.getWindow().setVisible(false);
try {
wait();
} catch (InterruptedException ex) {
Logger.getLogger(WindowsActions.class.getName()).log(Level.SEVERE, null, ex);
}
}
});