Dimensionen eines Button bestimmen

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich würde meinen Frame bzw. Label gerne beibringen seine Größe automatisch anzupassen, so dass der Frame gleich annährend der Buttongröße ist (+1....)
Weiß jemand, wie ich das hinbekommen?
Wenn ichs so starte, dann ist mein Frame nur so groß wie die obere Bildleiste und ich muss ihn erstmal aufziehen um den Button sehen zu können...
Es soll aber NICHT setSize verwendet werden...der Frame soll sich wie gesagt automatisch an die Größe des Buttons anpassen...

Geht das nicht irgendwie mit super.getDimension, wobei mit "super" dann die ButtonOberklasse gemeint ist?

Code:
class Buttons
{
	public static void main(String[] args) 
	{
		JFrame mainFrame=new JFrame();
		
		JButton start=new JButton("Start");
		
		int buttonHeight=start.getHeight();
		int buttonWidth=start.getWidth();
		
		System.out.println(buttonHeight);
		
		mainFrame.add(start);
		
		mainFrame.setSize(buttonHeight, buttonWidth);
		mainFrame.setVisible(true);
	}
}
 
Du hast dem Button ja auch noch keine Größe gegeben!
Außerdem wird bei der Fenstergröße die Titelleiste mitgerechnet, so dass dein Fenster ca 23Pixel höher sein muss als dein Button...

Etwaso, falls ich dein Problem richtig verstanden habe:
Code:
class Buttons
{
   public static void main(String[] args)
   {
      JFrame mainFrame=new JFrame();
      
      JButton start=new JButton("Start");
      start.setSize(33, 33);
      
      int buttonHeight=start.getHeight();
      int buttonWidth=start.getWidth();
      
      System.out.println(buttonHeight);
      
      mainFrame.add(start);
      
      mainFrame.setSize(buttonWidth, buttonHeight+23);
      mainFrame.setVisible(true);
   }
}
 
Danke, wollte immer nochmal geguckt haben was pack() macht. Hast mich dran erinnert und gleich abgenommen 😉
 
Aahhh super...mit pack() hats geklappt...eigentlich kannte ich diese Methode ja schon...hatte die aber irgendwie immer nur bei den Layoutmanagern angewandt...gut zu wissen das man ein Frame auch "packen" kann... 🙂

Muchos Gracias!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben