2013-04-04 28 views
5

Sto sviluppando un'applicazione desktop java swing con NetBeans e voglio impostare JFrame al centro dello schermo.Imposta JFrame al centro dello schermo in NetBeans

dalla rete ho capito che posso usare

setLocationRelativeTo(null); 

per impostare la cornice al centro Ma io sono in grado di inserire il codice nel NetBeans IDE perché sia ​​il

frame.pack() 
and frame.setVisible() 

vengono generati i codici di NetBeans 7 IDE e non consentirà alcun inserimento di codice tra i due metodi. di ottenere i seguenti:

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

Qualsiasi suggerimento su come risolvere il problema.

+0

codice generato Anche va in qualche file in Java ... Quale file è generato da NetBeans? – hd1

+0

coud ti spiego ulteriormente sono nuovo a netbeans e java – CodeAngel

risposta

1

È setVisible() sul codice generato? Strano. Ad ogni modo, puoi fare clic con il pulsante destro del mouse su JFrame in Navigator e selezionare Properties. Vai a Code e selezionalo per non fare nulla. Quindi inserire manualmente il codice dopo initComponents() nel costruttore JFrame.

+0

setVisible() non parte del generato ma piuttosto voglio inserirlo. – CodeAngel

+0

ai codici generati – CodeAngel

+0

Non c'è bisogno di farlo.Nel costruttore della classe, chiamerà 'initComponents()', che chiamerà 'pack()'. Dopo 'initComponents()', nel costruttore, chiamate 'setLocationRelativeTo (null)' quindi 'setVisible (true)' (sebbene non consiglierei di chiamare 'setVisible()' sul costruttore). –

2

Non sono sicuro di avere una risposta al problema, ma una soluzione è stata data nel seguente link di Wade Chandler sul forum NetBeans. Sfortunatamente l'autore della query che ha risposto è stato impaziente, per usare un eufemismo, e per risolvere la questione devi lavorare con una certa angoscia.

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

Wade mostra come centrare l'interfaccia grafica quindi cosa aspetti del codice è possibile modificare.

Per inciso, se si desidera inserire la GUI in una posizione fissa sullo schermo, è possibile utilizzare:

Ciò richiede l'accesso alle proprietà -> finestra del codice pure. 1. Assicurarsi di selezionare il Frame (non un componente o esterno!) 2. Andare alla scheda Codice nella finestra delle proprietà per JFrame. 3. Individuare l'etichetta "Criteri dimensioni modulo". 4. Nell'elenco a discesa selezionare "Genera codice di ridimensionamento". 5. Modificare la posizione del modulo facendo clic sul "..." accanto ad esso. 6. Assicurarsi inoltre che "Genera dimensioni" sia selezionato.

Se si desidera posizionare la GUI in alto a sinistra sullo schermo, utilizzare il valore predefinito [0,0] per la posizione del modulo. Per posizionare una seconda GUI accanto al primo utilizzo [450,0]. In questo caso il valore x è stato modificato in 450, il valore Y è mantenuto a 0. Per spostare la GUI sullo schermo, quindi modificare il valore Y da 0 a 450.

Infine, c'è un NetBeans bug 226740 che può causare problemi quando si tenta di centrare alcuni aspetti di una GUI. Probabilmente non ti influenzerà, ma è utile esserne a conoscenza.

saluti

Derek

+0

@DereckMannering grazie per il post proverò a tornare da voi. Cheers – CodeAngel

12

Proprietà -> Codice -> controllare Genera Centro

+1

Questa è la soluzione più semplice. +1 –

0

Dal @DerekMannering link postato:

Netbeans genera in realtà la logica incentrata sulla propria contro tramite uso proprietà, quindi non vedrete opzione setLocationRelativeTo. Vai alla scheda Codice nella finestra delle proprietà. Individuare l'etichetta "Form Size Policy" nella scheda Codice. Nell'elenco a discesa selezionare "Genera codice di ridimensionamento". Quindi assicurati che la proprietà con l'etichetta "Genera centro" sia selezionata. Anche tu dovrai assicurarti che "Genera dimensioni" sia anch'esso selezionato. Dovrebbe essere di default, ma dovresti controllare comunque. Ora, questo sarà il migliore per le estensioni JFrame o Frame.

10

sul costruttore del telaio, si dispone di questo:

public frame() {  
    initComponents(); 
} 

Devi solo mettere questa riga: "this.setLocationRelativeTo (null);" sotto "initComponents();"

e avrete questo:

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

Run esso, e il telaio dovrebbe mostrare sul centro dello schermo =)

3

seguire la seguente procedura semplice:

  • seleziona il frame e vai alle proprietà.
  • fare clic sulla sezione del codice e fare clic sulla casella di controllo Genera centro.

Questo è tutto.

0

All'interno dell'area di Netbeans Designer, scegli il tuo JFrame, vai al codice.

al codice, la politica Modulo cambio formato a "generare il codice Resize"

quindi scegliere l'opzione Genera Centro. Codice

0
  • alla scrittura costruttore di dare seguito renderà il vostro JFrame al centro dello schermo

    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

provare ....

public class_name{ 
    initComponents(); 
     setLocationRelativeTo(this); 
} 
+2

Si prega di aggiungere una spiegazione su come questo risolve la domanda. –

Problemi correlati