web-dev-qa-db-fra.com

Définir JFrame au centre de l'écran dans NetBeans

Je développe une application de bureau Java Swing Avec NetBeans et je souhaite définir le cadre JFrame au centre de l'écran.

du net, je comprends que je peux utiliser 

setLocationRelativeTo(null);

pour définir le cadre au centre Mais je ne parviens pas à insérer le code dans l'EDI NetBeans car frame.pack() et frame.setVisible() sont des codes générés de l'EDI NetBeans 7 et ne permettent pas toute insertion de code entre les deux méthodes.

J'ai besoin d'obtenir ce qui suit:

frame.pack() 
setLocationRelativeTo(null);
frame.setVisible()

Toute suggestion sur la façon de résoudre le problème?

8
CodeAngel

Est-ce que setVisible() est sur le code généré? Étrange. Quoi qu'il en soit, vous pouvez cliquer avec le bouton droit de la souris sur JFrame dans Navigator et sélectionner Properties. Allez à Code et sélectionnez-le pour ne rien faire. Ensuite, insérez manuellement votre code après initComponents() dans le constructeur JFrame.

1
Jean Waghetti

Propriétés -> Code -> consultez Generate Center

17
user2263202

Sur le constructeur du cadre, vous avez ceci:

public frame() {     
   initComponents();
}

Il suffit de mettre cette ligne: "this.setLocationRelativeTo (null);" Sous "initComponents ();"

Et vous aurez ceci: 

public frame() {     
   initComponents();
   this.setLocationRelativeTo(null);
}

Exécutez-le, et le cadre devrait apparaître au centre de l'écran =)

11
princesspeach

Suivez les étapes simples suivantes:

  • sélectionnez le cadre et allez dans les propriétés.
  • cliquez sur la section de code et cliquez sur la case à cocher Generate Center.

C'est tout.

3
Neelesh

Je ne sais pas si vous avez obtenu une réponse à votre problème, mais une solution a été fournie dans le lien suivant par Wade Chandler sur le forum NetBeans. Malheureusement, l'auteur de la requête à laquelle on répondait était impatient de le dire, et vous devez surmonter quelques angoisses pour obtenir la réponse.

http://forums.netbeans.org/ptopic37419.html

Wade montre comment centrer l'interface graphique et quels aspects du code vous pouvez modifier.

En passant, si vous souhaitez placer l'interface graphique à une position définie sur l'écran, vous pouvez utiliser:

Cela nécessite également un accès à la fenêtre Propriétés -> Code . 1. Assurez-vous de sélectionner le cadre (pas un composant ou extérieur!) 2. Accédez à l'onglet Code dans la fenêtre des propriétés pour JFrame. 3. Localisez le libellé "Stratégie de taille de formulaire". 4. Dans le menu déroulant, sélectionnez "Générer le code de redimensionnement". 5. Modifiez la position du formulaire en cliquant sur le "..." à côté de celui-ci . 6. Assurez-vous également que l'option "Générer la taille" est cochée. 

Si vous souhaitez placer l'interface graphique en haut à gauche de l'écran, utilisez la valeur par défaut [0,0] pour la position du formulaire. Pour positionner une deuxième interface graphique à côté de la première, utilisez [450,0]. Dans ce cas, la valeur x a été changée en 450, la valeur Y est maintenue à 0. Pour déplacer l'interface graphique vers le bas de l'écran, changez la valeur Y de 0 à 450.

Enfin, il existe un bogue 226740 de NetBeans qui peut entraîner des problèmes lorsque vous essayez de centrer certains aspects d'une interface graphique. Cela ne vous concernera probablement pas, mais il est utile d’en être conscient.

Cordialement

Derek

2
Derek Mannering

Dans la zone Netbeans Designer, choisissez votre JFrame, allez au code.

Dans le code, définissez Stratégie de taille de formulaire sur "Générer le code de redimensionnement"

Ensuite, choisissez l'option Generate Center.

0
JoshuaTree
  • au constructeur écrivant donner le code ci-dessous fera votre jframe au centre de l'écran

    public ProjectWork_jframe() {
    initComponents();
    
    Dimension screenSize,frameSize;
    int x,y;
    screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    frameSize=getSize();
    x=(screenSize.width-frameSize.width)/2;
    y=(screenSize.height-frameSize.height)/2;
    setLocation(x, y);
    }
    
0
Ragataj

Depuis le lien @DerekMannering posté:

Netbeans génère en réalité une logique de centrage par opposition à utilisation de la propriété, vous ne verrez donc pas l'option setLocationRelativeTo. Allez au Onglet Code dans la fenêtre de propriétés. Localisez le libellé "Stratégie de taille de formulaire". dans l'onglet Code. Dans le menu déroulant, sélectionnez "Générer le code de redimensionnement". Ensuite assurez-vous que la propriété portant le libellé "Générer le centre" est cochée . Aussi, vous voudrez vous assurer que "Générer Taille" est également coché . Devrait être par défaut, mais vous devriez vérifier quand même. Maintenant, ça va fonctionne mieux pour les extensions JFrame ou Frame.

0
Ayvadia

essayer....

public class_name{
     initComponents();
        setLocationRelativeTo(this);
}
0
Anant Mahale