2017-04-11 2 views
1

Je veux un cadre qui est agrandi et ensuite je veux bloquer le redimensionnement. Pour que j'ai écrit le code suivant:Agrandir le cadre et désactiver le redimensionnement

public PaintingWindow() { 
    initComponents(); 
    this.setExtendedState(MAXIMIZED_BOTH); 
    this.setResizable(false); 
} 

Le problème: La fenêtre ne maximisée plus si j'ajoute le setResizeable (false). Sans cela, cela fonctionne.

Comment puis-je l'éviter? Merci pour toutes les réponses!

+0

Envisager d'avoir un oeil à plein écran en mode exclusif – MadProgrammer

+0

Il fonctionne ici (Windows 10, Java 8), le appel à 'setResizable (..)' avant ou après 'setExtendedState (..)'. Mais là, essayez-le dans l'autre sens. 'setReiszable (..)' va changer le 'chrome' de la fenêtre (l'emballage autour de l'extérieur) et cela pourrait confondre le système d'exploitation en pensant qu'il devrait revenir de plein écran. Plus généralement: Pour une meilleure aide plus tôt, postez un [MCVE] ou [Short, Self Contained, Example correct] (http://www.sscce.org/). –

Répondre

2

J'ai eu un problème similaire avec JFrame j'ai pu le résoudre par frame.setVisible(true); avant frame.setResizable(false);

JFrame frame = new JFrame("MyFrame"); 
frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
frame.setSize(screenSize); 
frame.setVisible(true); 
frame.setResizable(false); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 
+1

juste pour amender, le Javadoc de setExtendedState dit: "Si le cadre n'est pas visible sur l'écran, les événements peuvent être générés ou non ... Plus tard, quand la méthode setVisible (true) est invoquée, le cadre tentera pour appliquer cet état. " - mais si redimensionnable est faux avant setVisible, il échouera à appliquer l'état. –

+0

Réservoir vous pour votre réponse! Ça fonctionne maintenant! –