2013-04-04 19 views
5

Pracuję nad aplikacją pulpitu Java java z NetBeans i chcę ustawić JFrame na środku ekranu.Ustaw JFrame na środek ekranu w NetBeans

z sieci Rozumiem, że można używać

setLocationRelativeTo(null); 

ustawić ramkę do centrum ale jestem w stanie wstawić kod do NetBeans IDE ponieważ zarówno

frame.pack() 
and frame.setVisible() 

są generowane kody NetBeans 7 IDE i nie pozwoli na wstawianie kodu między tymi dwoma metodami. aby uzyskać następujące:

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

Wszelkie sugestie o tym, jak rozwiązać problem.

+0

Nawet wygenerowany kod przechodzi w jakiś plik w Javie ... Który plik jest generowany przez NetBeans? – hd1

+0

coud możesz wyjaśnić dalej jestem nowy do netbeans i java – CodeAngel

Odpowiedz

1

Czy setVisible() na wygenerowanym kodzie? Dziwne. W każdym razie możesz kliknąć prawym przyciskiem myszy na JFrame w Navigator i wybrać Properties. Przejdź do Code i wybierz go, aby nic nie robić. Następnie ręcznie wprowadź kod po initComponents() w konstruktorze JFrame.

+0

setVisible() nie jest częścią generowane, ale raczej chcesz wstawić. – CodeAngel

+0

generowanych kodów – CodeAngel

+0

Nie ma takiej potrzeby.W konstruktorze klasy wywoła on metodę "initComponents()", która wywoła funkcję 'pack()'. Po 'initComponents()', w konstruktorze wywołaj 'setLocationRelativeTo (null)' then 'setVisible (true)' (chociaż nie polecam wywoływania 'setVisible()' na konstruktorze). –

2

Nie jestem pewien, czy masz odpowiedź na swój problem, ale rozwiązanie zostało podane w poniższym linku przez Wade Chandler na forum NetBeans. Niestety pomysłodawca odpowiedzi na pytanie był niecierpliwy, co najmniej, a ty musiałeś przezwyciężyć niepokój, aby uzyskać odpowiedź.

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

Wade pokazuje jak wyśrodkować GUI i jakie aspekty kodu można zmodyfikować.

Tak na marginesie, jeśli chcesz umieścić GUI w pozycji ustawionej na ekranie można użyć:

wymaga dostępu do Właściwości -> oknie kodu, jak również. 1. Upewnij się, że wybierasz Ramkę (nie komponent lub na zewnątrz!) 2. Przejdź do zakładki Kod w oknie właściwości ramki JFrame. 3. Znajdź etykietę "Form Size Policy". 4. Z rozwijanego menu wybierz "Generate Resize Code". 5. Zmodyfikuj pozycję formularza, klikając "..." obok niej. 6. Upewnij się także, że zaznaczono opcję "Generate Size".

Jeśli chcesz umieścić GUI w lewym górnym rogu ekranu, użyj domyślnej [0,0] dla pozycji formularza. Aby ustawić drugi GUI przy pierwszym użyciu [450,0]. W tym przypadku wartość x została zmieniona na 450, wartość Y wynosi 0. Aby przesunąć GUI w dół ekranu, zmień wartość Y z 0 na 450.

Wreszcie istnieje Błąd NetBeans 226740, który może powodować problemy podczas próby wyśrodkowania niektórych aspektów GUI. Prawdopodobnie nie wpłynie to na ciebie, ale warto być tego świadomym.

Pozdrowienia

Derek

+0

@DereckMannering dzięki za post spróbujemy i skontaktujemy się z Tobą. Pozdrawiam – CodeAngel

12

Właściwości -> Code -> sprawdź Generowanie Centrum

+1

To jest najprostsze rozwiązanie. +1 –

0

z linku @DerekMannering pisał:

Netbeans faktycznie generuje centrowania logikę we własnym zakresie w porównaniu poprzez użycie właściwości , więc nie zobaczysz opcji setLocationRelativeTo. Przejdź do karty Kod w oknie właściwości. Znajdź etykietę "Form Size Policy" w zakładce Code. Z rozwijanego menu wybierz "Generate Resize Code". Następnie upewnij się, że właściwość z etykietą "Generuj centrum" jest zaznaczona. Zbyt chcesz się upewnić, że "Generate Size" jest również zaznaczone. Powinien być domyślnie, ale powinieneś sprawdzić mimo to. Teraz to będzie najlepsze dla JFrame lub rozszerzeń ramek.

10

Na konstruktora ramki, masz to:

public frame() {  
    initComponents(); 
} 

Trzeba tylko umieścić ten wiersz: "this.setLocationRelativeTo (null);" w obszarze "initComponents();"

i będziesz miał to:

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

uruchom go, a rama powinna wykazać na środku ekranu =)

3

wykonać następujące proste kroki:

  • wybierz ramkę i przejdź do właściwości.
  • kliknij sekcję kodu i kliknij pole wyboru Generuj centrum.

To wszystko.

0

W obszarze Projektanta Netbeans wybierz ramkę JFrame, przejdź do kodu.

kodem, Polityki zmiana Formularz Size „Generuj kod Resize”

następnie wybrać opcję Generowanie Center.

0
  • na piśmie konstruktora podać kod poniżej uczyni Państwa JFrame na środku ekranu

    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

spróbować ....

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

Proszę dodać wyjaśnienie, w jaki sposób to rozwiązuje pytanie. –