wake-up-neo.net

Setzen Sie JFrame in NetBeans auf die Mitte des Bildschirms

Ich entwickle eine Java-Swing-Desktopanwendung Mit NetBeans und möchte den JFrame in die Mitte des Bildschirms setzen.

aus dem Netz verstehe ich, dass ich verwenden kann 

setLocationRelativeTo(null);

den Rahmen auf die Mitte einstellen Ich kann den Code jedoch nicht in die NetBeans IDE einfügen, da sowohl die frame.pack() als auch frame.setVisible() generierte Codes der NetBeans 7 IDE .__ sind beliebige Code-Einfügung zwischen den beiden Methoden.

Ich muss folgendes erhalten:

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

Irgendwelche Vorschläge, um das Problem zu beheben?

8
CodeAngel

Ist setVisible() auf generiertem Code? Seltsam. Sie können jedoch in JFrame mit der rechten Maustaste auf die Variable Navigator klicken und Properties auswählen. Gehe zu Code und wähle es aus, um nichts zu tun. Fügen Sie den Code nach initComponents() manuell in den Konstruktor JFrame ein.

1
Jean Waghetti

Eigenschaften -> Code -> Auschecken Center generieren

17
user2263202

Auf dem Konstruktor des Rahmens haben Sie Folgendes:

public frame() {     
   initComponents();
}

Sie müssen nur diese Zeile setzen: "this.setLocationRelativeTo (null);" Unter "initComponents ();"

Und du wirst folgendes haben: 

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

Führen Sie es aus, und der Rahmen sollte in der Mitte des Bildschirms angezeigt werden =)

11
princesspeach

Befolgen Sie die folgenden einfachen Schritte:

  • wählen Sie den Rahmen aus und gehen Sie zu den Eigenschaften.
  • klicken Sie auf den Codeabschnitt und klicken Sie auf das Kontrollkästchen Center generieren.

Das ist es.

3
Neelesh

Ich bin nicht sicher, ob Sie eine Antwort auf Ihr Problem erhalten haben, aber eine Lösung wurde im folgenden Link von Wade Chandler im NetBeans-Forum gegeben. Leider war der Absender der beantworteten Frage ungeduldig, und Sie müssen einige Ängste durcharbeiten, um zur Antwort zu gelangen.

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

Wade zeigt, wie die GUI zentriert wird und welche Aspekte des Codes Sie ändern können.

Wenn Sie die GUI an einer festgelegten Position auf dem Bildschirm platzieren möchten, können Sie Folgendes verwenden:

Dies erfordert auch den Zugriff auf das Fenster Eigenschaften -> Code. 1. Stellen Sie sicher, dass Sie den Rahmen auswählen (keine Komponente oder außerhalb!) 2. Wechseln Sie zur Registerkarte Code im Eigenschaftenfenster für den JFrame. 3. Suchen Sie das Label "Form Size Policy". 4. Wählen Sie in der Dropdown-Liste "Generate Resize Code" aus. 5. Ändern Sie die Formularposition, indem Sie auf das "..." daneben klicken. 6. Stellen Sie außerdem sicher, dass "Größe generieren" ebenfalls aktiviert ist. 

Wenn Sie die GUI oben links auf dem Bildschirm platzieren möchten, verwenden Sie die Standardeinstellung [0,0] für die Formularposition. Um eine zweite GUI neben der ersten zu positionieren, verwenden Sie [450,0]. In diesem Fall wurde der x-Wert in 450 geändert, der Y-Wert wird auf 0 gehalten. Um die GUI auf dem Bildschirm nach unten zu verschieben, ändern Sie den Y-Wert von 0 in 450.

Schließlich gibt es einen NetBeans-Fehler 226740, der Probleme verursachen kann, wenn versucht wird, einige Aspekte einer GUI zu zentrieren. Es wird Sie wahrscheinlich nicht betreffen, aber es ist nützlich, sich dessen bewusst zu sein.

Grüße

Derek

2
Derek Mannering

Wählen Sie im Netbeans Designer-Bereich Ihren JFrame aus, und wechseln Sie zum Code.

Ändern Sie im Code die Formulargrößenrichtlinie in "Generiere Code zur Größenänderung".

Dann wählen Sie die Option Center generieren.

0
JoshuaTree
  • wenn Sie beim Konstruktor schreiben, geben Sie den folgenden Code ein, um Ihr Bild in der Mitte des Bildschirms zu erstellen

    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

Aus dem Link @DerekMannering gepostet:

Netbeans generiert eigentlich Zentrierungslogik im Vergleich zu durch property use, daher wird die setLocationRelativeTo-Option nicht angezeigt. Gehe zum Registerkarte Code im Eigenschaftenfenster. Suchen Sie das Label "Form Size Policy" auf der Registerkarte Code. Wählen Sie in der Dropdown-Liste "Generate Resize Code" aus. Dann Stellen Sie sicher, dass die Eigenschaft mit der Beschriftung "Center generieren" markiert ist. Außerdem solltest du sicherstellen, dass "Größe generieren" ebenfalls aktiviert ist. Sollte standardmäßig sein, sollte aber trotzdem überprüft werden. Nun, das wird Am besten für JFrame- oder Frame-Erweiterungen geeignet.

0
Ayvadia

versuchen....

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