# Buttongröße definieren



## eol (2. Mai 2005)

Wichtige Frage:
Wie kann ich ganz simple mit einem Tag die Buttongröße bestimmen?

Danke scon im voraus... ich hoffe, mir kann einer helfen!

P.S.: Kann es sein, dass man da irgendwie "Dimension" benutzen muss?


----------



## thE_29 (2. Mai 2005)

Jop!

Es gibt JComponent.setPrefferedSize(new java.awt.Dimensaion(width,höhe));
.setMinimumSize(....);
.setMaximumSize(...);

Alle 3 brauchen Dimension als Parameter!


----------



## eol (2. Mai 2005)

Abend nochmal!

Gib mir mal nen Beispiel an:
Button soll meinetwegen 50x100Pixel groß sein!
Sollte dies danach so aussehen?

b1.setMinimumSize(50,100);
b1.setMaximumSize(50,100);

????

Thx eol


----------



## Wildcard (2. Mai 2005)

Wenn du einen LayoutManager verwendest

```
b1.setPreferredSize(new Dimension(50,100));
```


----------



## eol (2. Mai 2005)

Na das nenn ich mal schnell und exakt!
Das is perfekt... genau so!

thx @ all

P.S.: Kann mir jemand das Topic mit den E-Mails aus Java senden noch beantworten? Da hab ich schon versucht, über Runtime irgendwas zu machen, aber hat net gefunzt! *heul*


----------



## eol (2. Mai 2005)

Hat mir ne Fehlermeldung angezeigt:

--------------------------- Javac Output ---------------------------
benutzeranmeldung.java:244: cannot resolve symbol

symbol  : method setPreferredSize (java.awt.Dimension)

location: class java.awt.Button

		b1.setPreferredSize(new Dimension(50,100));

                  ^

Note: benutzeranmeldung.java uses or overrides a deprecated API.

Note: Recompile with -deprecation for details.

1 error


Mmmmh da muss ich doch noch irgendwas importieren oda so?


----------



## Wildcard (2. Mai 2005)

naja, du brauchst einen Button der b1 heißt  :wink: 
btw:


> benutzeranmeldung.java uses or overrides a deprecated API.


Klassen werden groß geschrieben und du verwendest deprecated API...


----------



## eol (2. Mai 2005)

Eierkuchen? Wahrscheinlich stell ich mich total dämlich an...

So sieht im Moment die Oberfläche aus... wo muss ick dat jetzt unterbringen... eigentlich in der public benutzeranmeldung oda? weil ich da ja den rest des layouts bearbeite...
-----
import java.awt.*;
import java.awt.event.*;

class benutzeranmeldung extends Frame implements WindowListener,ActionListener{
	Button b1=new Button("Einfügen");
	Button b2=new Button("Speichern");
	Button b3=new Button("Laden");
	Button b4=new Button("anzeigen");
	Button b5=new Button("voriger Benutzer");
	Button b6=new Button("nächster Benutzer");
	Button b7=new Button("E- Mail schreiben");

	Label l1=new Label("Gewünschter Benutzername: *");
	Label l2=new Label("Passwort: *");
	Label l3=new Label("E- Mailadresse: *");
	Label l4=new Label("Alter:");
	Label l5=new Label("ICQ- Nummer:");
	Label l6=new Label("Aol Instant Messenger:");
	Label l7=new Label("Eigene Homepage:");
	Label l8=new Label("Interessen:");
	Label l9=new Label("Suchen nach:");
	Label l10=new Label("Sortieren nach:");
	Label l11=new Label("Alle Benutzer");
	Label l12=new Label("lassen.");
	Label l13=new Label("Bei Problemen:");
	Label l14=new Label("Anmeldung");
	Label l15=new Label("  ");
	Label l16=new Label("  ");
	Label l17=new Label("Felder mit * müssen ausgefüllt werden");

	TextField tf1=new TextField();
	TextField tf2=new TextField();
	TextField tf3=new TextField();
	TextField tf4=new TextField();
	TextField tf5=new TextField();
	TextField tf6=new TextField();
	TextField tf7=new TextField("http://");
	TextField tf8=new TextField();

	TextArea ta=new TextArea();

	Panel oben=new Panel();
	Panel mitte=new Panel();
		Panel mitte1=new Panel();
			Panel mitte5=new Panel();
			Panel mitte6=new Panel();
			Panel mitte7=new Panel();
		Panel mitte2=new Panel();
			Panel mitte3=new Panel();
			Panel mitte4=new Panel();
	Panel unten=new Panel();

	public void windowClosing(WindowEvent e) {
		System.exit(0);
		this.dispose();
	}
		//Rest der Window-Events nicht beachten
		public void windowOpened(WindowEvent e) {}
		public void windowIconified(WindowEvent e) {}
		public void windowDeiconified(WindowEvent e) {}
		public void windowClosed(WindowEvent e) {}
		public void windowActivated(WindowEvent e) {}
		public void windowDeactivated(WindowEvent e) {}	



	public void actionPerformed(ActionEvent e)
	{

	}

	public benutzeranmeldung() {
		super("Benutzeranmeldung");
		addWindowListener(this);
		setLayout(new BorderLayout());

		oben.setLayout(new GridLayout(10,2,5,5));
		oben.add(l14);oben.add(l15);
		oben.add(l1);oben.add(tf1);
		oben.add(l2);oben.add(tf2);
		oben.add(l3);oben.add(tf3);
		oben.add(l4);oben.add(tf4);
		oben.add(l5);oben.add(tf5);
		oben.add(l6);oben.add(tf6);
		oben.add(l7);oben.add(tf7);
		oben.add(l8);oben.add(tf8);
		oben.add(l17);

		//mitte links
		mitte1.setLayout(new GridLayout(3,1,5,5));
		mitte1.add(mitte5);
		mitte1.add(mitte6);
		mitte1.add(mitte7);

		mitte5.setLayout(new GridLayout(3,1,5,5));
			mitte5.add(b1);
			mitte5.add(b2);
			mitte5.add(b3);

		mitte6.setLayout(new GridLayout(2,1,5,5));
			mitte6.add(l9);
			mitte6.add(l10);

		mitte7.setLayout(new GridLayout(1,3,5,5));
			mitte7.add(l11);
			mitte7.add(b4);
			mitte7.add(l12);
		//mitte links ende		


		//mitte rechts
		mitte2.setLayout(new GridLayout(2,1,5,5));
		mitte2.add(mitte3);
		mitte2.add(mitte4);
			mitte3.setLayout(new GridLayout(1,1));
			mitte3.add(ta);
			mitte4.setLayout(new GridLayout(1,2,5,5));
			mitte4.add(b5);
			mitte4.add(b6);
		//mitte rechts ende

		mitte.setLayout(new GridLayout(1,2,5,5));
		mitte.add(mitte1);
		mitte.add(mitte2);

		unten.setLayout(new GridLayout(1,3,5,5));
		unten.add(l13);
		unten.add(b7);
		unten.add(l16);

		add("North",oben);
		add("Center",mitte);
		add("South",unten);

		//layout anfang

		//alle Labels Anfang
		Font f1=new Font("Arial",Font.PLAIN,14);
		l1.setFont(f1);l2.setFont(f1);
		l3.setFont(f1);l4.setFont(f1);
		l5.setFont(f1);l6.setFont(f1);
		l7.setFont(f1);l8.setFont(f1);
		l9.setFont(f1);l10.setFont(f1);
		l11.setFont(f1);l12.setFont(f1);
		l13.setFont(f1);
		//alle Labels Ende

		//Überschrift Anfang
		Font f3=new Font("Arial",Font.BOLD,16);
		l14.setFont(f3);
		//Überschrift Ende

		//Sternchen Anfang
		Font f6=new Font("Arial",Font.PLAIN,12);
		l17.setFont(f6);		
		l17.setForeground(new Color(0,80,0));
		//Sternchen Ende

		//alle Textfelder	Anfang
		Font f4=new Font("Arial",Font.BOLD,14);
		tf1.setFont(f4);tf2.setFont(f4);
		tf3.setFont(f4);

		Font f7=new Font("Arial",Font.PLAIN,14);
		tf4.setFont(f7);tf5.setFont(f7);
		tf6.setFont(f7);tf7.setFont(f7);
		tf8.setFont(f7);ta.setFont(f7);
		//alle Textfelder Ende

		//Hintergrund Panels Anfang
		oben.setBackground(new Color(80,80,80));
		mitte.setBackground(new Color(80,80,80));
		unten.setBackground(new Color(80,80,80));
		//Hintergrund Panels Ende

		//Hintergrund Textfelder Anfang
		tf1.setBackground(new Color(0,0,0));
		tf2.setBackground(new Color(0,0,0));
		tf3.setBackground(new Color(0,0,0));
		tf4.setBackground(new Color(0,0,0));
		tf5.setBackground(new Color(0,0,0));
		tf6.setBackground(new Color(0,0,0));
		tf7.setBackground(new Color(0,0,0));
		tf8.setBackground(new Color(0,0,0));
		ta.setBackground(new Color(0,0,0));
		//Hintergund Textfelder Ende

		//Schriftfarbe aller Labels + Textfelder Anfang
		tf1.setForeground(new Color(255,255,255));
		tf2.setForeground(new Color(255,255,255));
		tf3.setForeground(new Color(255,255,255));
		tf4.setForeground(new Color(255,255,255));
		tf5.setForeground(new Color(255,255,255));
		tf6.setForeground(new Color(255,255,255));
		tf7.setForeground(new Color(255,255,255));
		tf8.setForeground(new Color(255,255,255));
		ta.setForeground(new Color(255,255,255));
		l1.setForeground(new Color(255,255,255));
		l2.setForeground(new Color(255,255,255));
		l3.setForeground(new Color(255,255,255));
		l4.setForeground(new Color(255,255,255));
		l5.setForeground(new Color(255,255,255));
		l6.setForeground(new Color(255,255,255));
		l7.setForeground(new Color(255,255,255));
		l8.setForeground(new Color(255,255,255));
		l9.setForeground(new Color(255,255,255));
		l10.setForeground(new Color(255,255,255));
		l11.setForeground(new Color(255,255,255));
		l12.setForeground(new Color(255,255,255));
		l13.setForeground(new Color(255,255,255));
		l14.setForeground(new Color(255,255,255));
		//Schriftfarbe aller Labels + Textfelder Ende

		//Button- Farbe Anfang
		b1.setBackground(new Color(100,100,100));
		b2.setBackground(new Color(100,100,100));
		b3.setBackground(new Color(100,100,100));
		b4.setBackground(new Color(100,100,100));
		b5.setBackground(new Color(100,100,100));
		b6.setBackground(new Color(100,100,100));
		b7.setBackground(new Color(100,100,100));
		//Button- Farbe Ende

		//Schriftfarbe Buttons Anfang
		b1.setForeground(new Color(204,187,136));
		b2.setForeground(new Color(204,187,136));
		b3.setForeground(new Color(204,187,136));
		b4.setForeground(new Color(204,187,136));
		b5.setForeground(new Color(204,187,136));
		b6.setForeground(new Color(204,187,136));
		b7.setForeground(new Color(204,187,136));
		//Schriftfarbe Buttons Ende

		//Schrifttyp Buttons Anfang
		Font f5=new Font("Arial",Font.BOLD,14);
		b1.setFont(f5);b2.setFont(f5);
		b3.setFont(f5);b4.setFont(f5);
		b5.setFont(f5);b6.setFont(f5);
		b7.setFont(f5);
		//Schrifttyp Buttons Ende

		//layout ende

	}

	public static void main(String argv[]) {
		benutzeranmeldung kon=new benutzeranmeldung();
		kon.resize(800,600);
		kon.show();		
	}
}


----------



## Wildcard (2. Mai 2005)

Hier irgendwo:

```
b1.setPreferredSize(new Dimension(50,100)); 
//Schriftfarbe Buttons Anfang 
b1.setForeground(new Color(204,187,136)); 
b2.setForeground(new Color(204,187,136)); 
b3.setForeground(new Color(204,187,136));
```


```
kon.resize(800,600); 
kon.show();
```
Mach daraus


```
kon.setSize(800,600);
kon.setVisible(true);
```

Ich würde die Klasse aufteilen. Mach dir aus jedem größeren Panel eine eigene Klasse um das ganze zu entzerren.
Ausserdem würde ich dir den Umstieg auf Swing empfehlen.


----------



## eol (2. Mai 2005)

Funzt net...


----------



## Wildcard (2. Mai 2005)

```
import java.awt.Dimension;
```
Das hast du auch drin?
Die gleiche Fehlermeldung?


----------



## eol (2. Mai 2005)

Jo is drin... den button b1 gib'z auch!!!
-----------
benutzeranmeldung.java:243: cannot resolve symbol

symbol  : method setPreferredSize (java.awt.Dimension)

location: class java.awt.Button

	b1.setPreferredSize(new Dimension(50,100)); 

1 error
------------

Jetzt kommt der irgendwie mit der sache nich klar...??? ?!?!? ?


----------



## Wildcard (2. Mai 2005)

Ich hab's gerade mit deiner Klasse probiert, und es funktioniert...


----------



## eol (2. Mai 2005)

Abend!

Kopier mal den Quelltext hier rein... bei funzt dat wirklich net... sonst würd ich ja nich nochmal fragen!

Wäre schön! Danke schon mal im voraus
eol


----------



## Wildcard (2. Mai 2005)

```
/**
 * @author Wildcard
 * created at 02.05.2005
 */
import java.awt.*; 
import java.awt.event.*; 

class benutzeranmeldung extends Frame implements WindowListener,ActionListener{ 
Button b1=new Button("Einfügen"); 
Button b2=new Button("Speichern"); 
Button b3=new Button("Laden"); 
Button b4=new Button("anzeigen"); 
Button b5=new Button("voriger Benutzer"); 
Button b6=new Button("nächster Benutzer"); 
Button b7=new Button("E- Mail schreiben"); 

Label l1=new Label("Gewünschter Benutzername: *"); 
Label l2=new Label("Passwort: *"); 
Label l3=new Label("E- Mailadresse: *"); 
Label l4=new Label("Alter:"); 
Label l5=new Label("ICQ- Nummer:"); 
Label l6=new Label("Aol Instant Messenger:"); 
Label l7=new Label("Eigene Homepage:"); 
Label l8=new Label("Interessen:"); 
Label l9=new Label("Suchen nach:"); 
Label l10=new Label("Sortieren nach:"); 
Label l11=new Label("Alle Benutzer"); 
Label l12=new Label("lassen."); 
Label l13=new Label("Bei Problemen:"); 
Label l14=new Label("Anmeldung"); 
Label l15=new Label(" "); 
Label l16=new Label(" "); 
Label l17=new Label("Felder mit * müssen ausgefüllt werden"); 

TextField tf1=new TextField(); 
TextField tf2=new TextField(); 
TextField tf3=new TextField(); 
TextField tf4=new TextField(); 
TextField tf5=new TextField(); 
TextField tf6=new TextField(); 
TextField tf7=new TextField("http://"); 
TextField tf8=new TextField(); 

TextArea ta=new TextArea(); 

Panel oben=new Panel(); 
Panel mitte=new Panel(); 
Panel mitte1=new Panel(); 
Panel mitte5=new Panel(); 
Panel mitte6=new Panel(); 
Panel mitte7=new Panel(); 
Panel mitte2=new Panel(); 
Panel mitte3=new Panel(); 
Panel mitte4=new Panel(); 
Panel unten=new Panel(); 

public void windowClosing(WindowEvent e) { 
System.exit(0); 
this.dispose(); 
} 
//Rest der Window-Events nicht beachten 
public void windowOpened(WindowEvent e) {} 
public void windowIconified(WindowEvent e) {} 
public void windowDeiconified(WindowEvent e) {} 
public void windowClosed(WindowEvent e) {} 
public void windowActivated(WindowEvent e) {} 
public void windowDeactivated(WindowEvent e) {} 



public void actionPerformed(ActionEvent e) 
{ 

} 

public benutzeranmeldung() { 
super("Benutzeranmeldung"); 
addWindowListener(this); 
setLayout(new BorderLayout()); 

oben.setLayout(new GridLayout(10,2,5,5)); 
oben.add(l14);oben.add(l15); 
oben.add(l1);oben.add(tf1); 
oben.add(l2);oben.add(tf2); 
oben.add(l3);oben.add(tf3); 
oben.add(l4);oben.add(tf4); 
oben.add(l5);oben.add(tf5); 
oben.add(l6);oben.add(tf6); 
oben.add(l7);oben.add(tf7); 

//was ist hiermit?
//oben.add(l;oben.add(tf8); 
oben.add(l17); 

//mitte links 
mitte1.setLayout(new GridLayout(3,1,5,5)); 
mitte1.add(mitte5); 
mitte1.add(mitte6); 
mitte1.add(mitte7); 

mitte5.setLayout(new GridLayout(3,1,5,5)); 
mitte5.add(b1); 
mitte5.add(b2); 
mitte5.add(b3); 

mitte6.setLayout(new GridLayout(2,1,5,5)); 
mitte6.add(l9); 
mitte6.add(l10); 

mitte7.setLayout(new GridLayout(1,3,5,5)); 
mitte7.add(l11); 
mitte7.add(b4); 
mitte7.add(l12); 
//mitte links ende 


//mitte rechts 
mitte2.setLayout(new GridLayout(2,1,5,5)); 
mitte2.add(mitte3); 
mitte2.add(mitte4); 
mitte3.setLayout(new GridLayout(1,1)); 
mitte3.add(ta); 
mitte4.setLayout(new GridLayout(1,2,5,5)); 
mitte4.add(b5); 
mitte4.add(b6); 
//mitte rechts ende 

mitte.setLayout(new GridLayout(1,2,5,5)); 
mitte.add(mitte1); 
mitte.add(mitte2); 

unten.setLayout(new GridLayout(1,3,5,5)); 
unten.add(l13); 
unten.add(b7); 
unten.add(l16); 

add("North",oben); 
add("Center",mitte); 
add("South",unten); 

//layout anfang 

//alle Labels Anfang 
Font f1=new Font("Arial",Font.PLAIN,14); 
l1.setFont(f1);l2.setFont(f1); 
l3.setFont(f1);l4.setFont(f1); 
l5.setFont(f1);l6.setFont(f1); 
l7.setFont(f1);l8.setFont(f1); 
l9.setFont(f1);l10.setFont(f1); 
l11.setFont(f1);l12.setFont(f1); 
l13.setFont(f1); 
//alle Labels Ende 

//Überschrift Anfang 
Font f3=new Font("Arial",Font.BOLD,16); 
l14.setFont(f3); 
//Überschrift Ende 

//Sternchen Anfang 
Font f6=new Font("Arial",Font.PLAIN,12); 
l17.setFont(f6); 
l17.setForeground(new Color(0,80,0)); 
//Sternchen Ende 

//alle Textfelder Anfang 
Font f4=new Font("Arial",Font.BOLD,14); 
tf1.setFont(f4);tf2.setFont(f4); 
tf3.setFont(f4); 

Font f7=new Font("Arial",Font.PLAIN,14); 
tf4.setFont(f7);tf5.setFont(f7); 
tf6.setFont(f7);tf7.setFont(f7); 
tf8.setFont(f7);ta.setFont(f7); 
//alle Textfelder Ende 

//Hintergrund Panels Anfang 
oben.setBackground(new Color(80,80,80)); 
mitte.setBackground(new Color(80,80,80)); 
unten.setBackground(new Color(80,80,80)); 
//Hintergrund Panels Ende 

//Hintergrund Textfelder Anfang 
tf1.setBackground(new Color(0,0,0)); 
tf2.setBackground(new Color(0,0,0)); 
tf3.setBackground(new Color(0,0,0)); 
tf4.setBackground(new Color(0,0,0)); 
tf5.setBackground(new Color(0,0,0)); 
tf6.setBackground(new Color(0,0,0)); 
tf7.setBackground(new Color(0,0,0)); 
tf8.setBackground(new Color(0,0,0)); 
ta.setBackground(new Color(0,0,0)); 
//Hintergund Textfelder Ende 

//Schriftfarbe aller Labels + Textfelder Anfang 
tf1.setForeground(new Color(255,255,255)); 
tf2.setForeground(new Color(255,255,255)); 
tf3.setForeground(new Color(255,255,255)); 
tf4.setForeground(new Color(255,255,255)); 
tf5.setForeground(new Color(255,255,255)); 
tf6.setForeground(new Color(255,255,255)); 
tf7.setForeground(new Color(255,255,255)); 
tf8.setForeground(new Color(255,255,255)); 
ta.setForeground(new Color(255,255,255)); 
l1.setForeground(new Color(255,255,255)); 
l2.setForeground(new Color(255,255,255)); 
l3.setForeground(new Color(255,255,255)); 
l4.setForeground(new Color(255,255,255)); 
l5.setForeground(new Color(255,255,255)); 
l6.setForeground(new Color(255,255,255)); 
l7.setForeground(new Color(255,255,255)); 
l8.setForeground(new Color(255,255,255)); 
l9.setForeground(new Color(255,255,255)); 
l10.setForeground(new Color(255,255,255)); 
l11.setForeground(new Color(255,255,255)); 
l12.setForeground(new Color(255,255,255)); 
l13.setForeground(new Color(255,255,255)); 
l14.setForeground(new Color(255,255,255)); 
//Schriftfarbe aller Labels + Textfelder Ende 

//Button- Farbe Anfang 
b1.setBackground(new Color(100,100,100)); 
b2.setBackground(new Color(100,100,100)); 
b3.setBackground(new Color(100,100,100)); 
b4.setBackground(new Color(100,100,100)); 
b5.setBackground(new Color(100,100,100)); 
b6.setBackground(new Color(100,100,100)); 
b7.setBackground(new Color(100,100,100)); 
//Button- Farbe Ende 

//Schriftfarbe Buttons Anfang 
b1.setForeground(new Color(204,187,136)); 
b2.setForeground(new Color(204,187,136)); 
b3.setForeground(new Color(204,187,136)); 
b4.setForeground(new Color(204,187,136)); 
b5.setForeground(new Color(204,187,136)); 
b6.setForeground(new Color(204,187,136)); 
b7.setForeground(new Color(204,187,136)); 
//Schriftfarbe Buttons Ende 

//Schrifttyp Buttons Anfang 
Font f5=new Font("Arial",Font.BOLD,14); 
b1.setFont(f5);b2.setFont(f5); 
b3.setFont(f5);b4.setFont(f5); 
b5.setFont(f5);b6.setFont(f5); 
b7.setFont(f5); 
//Schrifttyp Buttons Ende 
b1.setPreferredSize(new Dimension(50,100));
//layout ende 

} 

public static void main(String argv[]) { 
benutzeranmeldung kon=new benutzeranmeldung(); 
kon.resize(800,600); 
kon.show(); 
} 
}
```


----------



## thE_29 (3. Mai 2005)

Also wenn das geht, freß ich nen Bessen ;>


Da du awt nutzt musst du, b1.setSize(50,100); nehmen, und nicht setPreferredSize, da das nur mit Swing geht!

Frag mich wie Wildcard das compilieren konnte...


----------



## Wildcard (3. Mai 2005)

thE_29 hat gesagt.:
			
		

> Also wenn das geht, freß ich nen Bessen ;>
> 
> 
> Da du awt nutzt musst du, b1.setSize(50,100); nehmen, und nicht setPreferredSize, da das nur mit Swing geht!
> ...


Das geht schon, hab aber nicht mehr dran gedacht das setPreferredSize bei AWT erst mit Java 5 eingeführt wurde
und du wahrscheinlich noch 1.4 benutzt SRY!  :wink:

EDIT:


			
				thE_29 hat gesagt.:
			
		

> Also wenn das geht, freß ich nen Bessen ;>


Na dann Mahlzeit  :wink:


----------



## eol (4. Mai 2005)

thx @ all!

Da dat nich gefunzt hat mit dem setSize aufgrund der version, die ich hab... bin ich mal ganz schnell auf NULL-Layout und die damit verbundenen Tags setBounds + add(x) "hinübergesprungen".
Trotzdem danke an alle, die sich damit verschäftigt haben.

Greetz eol

P.S.: Wünsch euch natürlich nen schönen Männertag!


----------

