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?
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
.
Propriétés -> Code -> consultez Generate Center
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 =)
Suivez les étapes simples suivantes:
C'est tout.
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
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.
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);
}
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.
essayer....
public class_name{
initComponents();
setLocationRelativeTo(this);
}