web-dev-qa-db-fra.com

Java JFrame Taille en fonction de la résolution de l'écran

J'ai créé l'interface graphique Java à l'aide de myEclipse Matisse. lorsque ma résolution d'écran est 1024x768, cela fonctionne bien, mais lorsque je change de résolution, mon interface graphique ne fonctionne pas bien. Je souhaite que ma fenêtre graphique soit redimensionnée en fonction de la résolution de l'écran J'étends JFrame pour créer la fenêtre principale. 

 public class MyClass extends JFrame {

      //I am putting some controls here.

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      setBounds(0,0,screenSize.width, screenSize.height);
      setVisible(true);

      pack()

    }

cela ne fonctionne pas, quoi que je fasse, le réglage de la taille codé en dur ou par ToolKit à l'aide, la taille de l'image reste la même.

12
Asghar

Vous appelez pack() qui modifie la taille du cadre pour qu'il s'adapte simplement aux composants internes. C’est pourquoi il recule, je pense. Supprimez la ligne pack() et cela devrait fonctionner.

15
Petar Minchev

Vous pouvez essayer d'utiliser ceci pour maximiser le cadre:

this.setExtendedState(JFrame.MAXIMIZED_BOTH);
27
Kowser

Une autre façon de faire est:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
pack();
setSize(screenSize.width,screenSize.height);
5
Buck

L'appel de pack() est essentiel au bon fonctionnement de l'interface graphique. Appelez-le après l'ajout de tous les composants pour le faire valider et le définir à sa taille naturelle.

Ensuite appelez setSize() & des méthodes apparentées, comme setBounds() ultérieurement.

5
Andrew Thompson

Essayez ceci ... Sélectionnez tous les composants de JFrame, cliquez avec le bouton droit de la souris, sélectionnez 'Redimensionnement automatique', vérifiez si Horizontal et Vertical sont proches, puis fermez.

1
Dikaios