# setSize() funktioniert nicht



## BlubBlub (8. Okt 2010)

hi,

hab folgenden code geschrieben:


```
public class myMain 
{
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
        myEditor editor = new myEditor();
          
    }
}
```


```
public class myEditor extends JFrame
{
    public myEditor()
    {
           super("Editor");
           setLocation(300, 300);
           setSize(500, 500);
           
           Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 
           setLocation( (d.width  - getSize().width ) / 2, 
                        (d.height - getSize().height) / 2 );
           
           JPanel panel = new JPanel();
        
           getContentPane().add(panel);
          
           pack();
           setVisible(true);
    }
}
```

aber aus irgendeinem grunde funktioniert setSize() nicht. das fenster wird einfach nicht auf diese größe gesetzt. es bleibt winzig.

ich hab mir auf der seite Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.2 Fenster unter grafischen Oberflächen
angeschaut wie sie dort setSize() verwendet haben, und da funktioniert es anscheinend, bei mir jedoch nicht.


----------



## Michael... (8. Okt 2010)

BlubBlub hat gesagt.:


> ```
> Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
> setLocation( (d.width  - getSize().width ) / 2,
> (d.height - getSize().height) / 2 );
> ```


Das wird auch mit 
	
	
	
	





```
setLocationRelativeTo(null);
```
 erreicht.

Durch den Aufruf von 
	
	
	
	





```
[B]pack();[/B]
```
 wird die Größe des Frames auf die optimale bzw. bevorzugte Größe gesetzt. Die per setSize() gesetzte Größe wird damit überschrieben.


----------



## BlubBlub (8. Okt 2010)

ah alles klar danke jetzt funktionierts.
und auch danke für den hinweis.


----------

