# Label Größe ändern?



## Wanki (29. Jun 2006)

Hallo zusammen,

Ich bin ein ziemlicher Anfänger was Java programmierung angeht.....

Jetzt bin ic hgrad ein bisschen am rumtüfteln und bin jetzt auf folgendes Problem gestoßen:

Ich möchte in der Mitte oben eine Überschrift haben, darunter ein größeres Anzeigefeld ( Label?) und dann rechts und links ein Button darunter in der Mitte ein Button und unten rechts ein Button. 

mein problem jetzt, ich bekomme die Buttons nicht so hin wie ich sie haben möchte und habe keine Ahnung wie man die größe des Labels ändert.........
Achso ja und ich möchte dass der Button in der Mitte genauso groß wie die anderen Buttons ist. wie mache ich das?

Zur Erklärung in dem größeren label sollen später Ding angezeigt werden, also noch nichts vordefiniertes.......

Mein Quelltext sieht bis jetzt so aus :


```
import java.awt.*;

public class test extends Frame
{
	private GridLayout myGridLayout = new GridLayout(2,0);
	private MyWindowListener myWindowListener = new MyWindowListener();
	private MyActionListener myActionListener = new MyActionListener(); 
	private Button btn1 = new Button("1");
	private Button btn2 = new Button("2");
	private Button btn3 = new Button("3");
	private Button btn4 = new Button("4");
	private Panel pnlNorth = new Panel(new BorderLayout());
	private Panel pnlCenter = new Panel(new GridLayout(2,0));
	private Panel pnlSouth = new Panel(new FlowLayout(FlowLayout.RIGHT)); 
	private Label lblUeberschrift = new Label("Ueberschrift");
	private label lbl = new Label("");
	
	public ReProMos()
	{
		this.setTitle("ReProMos");
		this.lblUeberschrift.setFont(new Font("",Font.BOLD,16));
		this.pnlNorth.add(lblUeberschrift);
		this.setSize(300,300);
		this.pnlNorth.add(btn1, BorderLayout.WEST);
		this.pnlNorth.add(btn2, BorderLayout.EAST);
		this.pnlCenter.add(btn3);
		this.pnlSouth.add(btn4);
		this.add(pnlNorth, BorderLayout.NORTH);
		this.add(pnlCenter, BorderLayout.CENTER);
		this.add(pnlSouth, BorderLayout.SOUTH);
		this.show();
		this.addWindowListener(this.myWindowListener);
		this.btn1.addActionListener(this.myActionListener);
		this.btn2.addActionListener(this.myActionListener);
		this.btn3.addActionListener(this.myActionListener);
		this.btn4.addActionListener(this.myActionListener);
		

	}
	public static void main(String args[])
	{
		test f = new test();
	}
}
```

In MYWindowListener steht lediglich drin dass ich dass Fenster schließen kann und in 
MyActionListener :


```
import java.awt.event.*;

public class MyActionListener implements ActionListener
{
	public void actionPerformed(ActionEvent e)
	{
		int wert = Integer.parseInt(e.getActionCommand());
		switch(wert)
		{
			case 1: System.exit(0);
			case 2: System.out.println("Button 2"); break;
			case 3: System.out.println("Button 3"); break;
			case 4: System.out.println("Button 4"); break;
		}
	}
}
```

Danke im vorraus für eure Hilfe!

Wanki


----------



## Leroy42 (29. Jun 2006)

Wanki hat gesagt.:
			
		

> Ich bin ein ziemlicher Anfänger was Java programmierung angeht.....
> Jetzt bin ic hgrad ein bisschen am rumtüfteln und bin jetzt auf folgendes Problem gestoßen:



[schild=6 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Willkommen in der Welt der LayoutManager![/schild]

Ich würde dir zwar helfen, aber mich stört nicht nur, daß du
Klassennamen Klein schreibst und Methodennamen Groß

sondern hauptsächlich, daß dein Programm so gar nicht laufen kann.  :x 

Wo, bitte schön, wird die Methode ReProMos() überhaupt aufgerufen?  :shock:


----------



## Wanki (29. Jun 2006)

verdammt dass ReProMos hab ich vergessen zu ändern......
das heißt auch test
Sorry!


----------



## Guest (29. Jun 2006)

Wanki hat gesagt.:
			
		

> Hallo zusammen,
> 
> Ich bin ein ziemlicher Anfänger was Java programmierung angeht.....
> 
> ...




sooo nu is Richtig !


----------



## Guest (29. Jun 2006)

Wanki hat gesagt.:
			
		

> Hallo zusammen,
> 
> Ich bin ein ziemlicher Anfänger was Java programmierung angeht.....
> 
> ...




sooo nu is Richtig !


----------



## Leroy42 (29. Jun 2006)

Ich bin jetzt etwas genervt  :x 

Schau mal Zeile 16 an: Da steht "private label" mit label kleingeschrieben.

Außerdem bekomme ich beim Compilieren Fehlermeldungen



			
				Compiler hat gesagt.:
			
		

> C:\Dokumente und Einstellungen\Mustafa\Eigene Dateien\test1.java:21: cannot find symbol
> symbol  : variable BOLD
> location: class Font
> this.lblUeberschrift.setFont(new Font("",Font.BOLD,16));
> ...



Kannst du uns denn nicht wenigstens *kompilierbaren* Code posten  :noe:


----------



## Wanki (29. Jun 2006)

Sorry!

So nochmal


```
import java.awt.*;

public class Test extends Frame
{
	private GridLayout myGridLayout = new GridLayout(2,0);
	private MyWindowListener myWindowListener = new MyWindowListener();
	private MyActionListener myActionListener = new MyActionListener(); 
	private Button btn1 = new Button("1");
	private Button btn2 = new Button("2");
	private Button btn3 = new Button("3");
	private Button btn4 = new Button("4");
	private Panel pnlNorth = new Panel(new BorderLayout());
	private Panel pnlCenter = new Panel(new GridLayout(2,0));
	private Panel pnlSouth = new Panel(new FlowLayout(FlowLayout.RIGHT)); 
	private Label lblUeberschrift = new Label("Test");
	private Label lbl = new Label("");
	
	public Test()
	{
		this.setTitle("Test");
		this.lblUeberschrift.setFont(new Font("",Font.BOLD,16));
		this.pnlNorth.add(lblUeberschrift);
		this.setSize(300,300);
		this.pnlNorth.add(btn1, BorderLayout.WEST);
		this.pnlNorth.add(btn2, BorderLayout.EAST);
		this.pnlCenter.add(btn3);
		this.pnlSouth.add(btn4);
		this.add(pnlNorth, BorderLayout.NORTH);
		this.add(pnlCenter, BorderLayout.CENTER);
		this.add(pnlSouth, BorderLayout.SOUTH);
		this.show();
		this.addWindowListener(this.myWindowListener);
		this.btn1.addActionListener(this.myActionListener);
		this.btn2.addActionListener(this.myActionListener);
		this.btn3.addActionListener(this.myActionListener);
		this.btn4.addActionListener(this.myActionListener);
		

	}
	public static void main(String args[])
	{
		Test f = new Test();
	}
}
```
Und bei mir funktioniert das Compilieren......


----------



## Leroy42 (29. Jun 2006)

Bei mir auch. Lag daran daß ich irgendwann mal mit AWT-Klassen 
rumgespielt habe.

Das Teil sieht bei mir so aus







Und was willst du jetzt geändert haben?


----------



## Wanki (29. Jun 2006)

Ahhhh 

Also folgendes die Überschrift also das test sollte in die Mitte dann darunter sollte ein Display dass später daten ausgibt......wird ein Label sein oder?

Dann darunter links und rechts ein Button, der drite Button in der Mitte uter den ersten zwei (sollte genauso groß sein wie die anderen Buttons) und der 4. rechts unten.......


geht das irgendwie?


----------



## Leroy42 (29. Jun 2006)

_die Überschrift also das test sollte in die Mitte_

Es ist doch schon in der Mitte!?

_dann darunter sollte ein Display dass später daten ausgibt......wird ein Label sein oder?_

Ein Label würde ich da ja nicht nehmen, aber es ist auch do wo
du es haben willst.

_Dann darunter links und rechts ein Button, der drite Button in der Mitte uter den ersten zwei (sollte genauso groß sein wie die anderen Buttons) und der 4. rechts unten.......
_


Dann nimm für den South-Bereich ein Panel mit GridLayout(1,3)

In den 1. Teil kommt ein BorderLayout in dem Links button1 und rechts button2 steht
In den 2. Teil dein Button3 (Layout egal)
In den 3. Teil dein Button4 (BorderLayout, EAST-Bereich)


----------



## Wanki (29. Jun 2006)

na Die Überschrift is meiner Meinung doch links oder? die sollte so ziemlich zentriert sein!

Was würdest du dann nehmen anstelle eines Labels?

dann wie schaff ich es dass Button 1 und 2 unter den text kommen?!
Mit dem Grid Layout?


----------



## Leroy42 (29. Jun 2006)




----------



## Wanki (6. Jul 2006)

So sollte es aussehen.....


----------



## Leroy42 (6. Jul 2006)

Das hilft uns leider nicht viel weiter   

Ein zweites Bild einer anderen Größe würde uns zeigen,
wie du zusätzlichen Platz auf welche Komponenten und
Zwischenräume verteilt haben willst (Was soll bei Größenänderung
wo schrumpfen/wachsen).

Ansonsten sieht das Ganze nach einem Anwendungsfall für
BoxLayout (SpringLayout) aus, bei denen auch die Zwischenräume
ihre Größen ändern können (Glue(Kleber)/Spring(Feder)-Konzept).

Allerdings habe ich mit diesen Layouts noch nie gearbeitet.


----------



## Gast (15. Jan 2007)

hi!

@Leroy42: du hast echt ne macke!

zum einen, wenn er keine probleme hätte würde er nicht posten (soviel zu compilierbaren code)

zum zweiten machst du ihn an, dass sein code scheiße ist und nicht compilierbar ist, obwohl du mist gebaut hast auf deiner kiste.


----------



## Marco13 (15. Jan 2007)

Hey, Leroy42, "Gast" hat gesagt, du hättest eine Macke. Verteigige dich  :meld: :wink:

@Wanki:
Label.CENTER hilft vielleicht. Ansonsten solltest du dir eine vernünftige Struktur für das ganze überlegen, und sagen, ob das etwa so gemeint war (und so wie sie ist, ist die Struktur im Moment NICHT vernünftig, sondern nur mit möglichst wenig Änderungen hingehackt)

```
import java.awt.*;

public class Test extends Frame
{
   private GridLayout myGridLayout = new GridLayout(2,0);
   //private MyWindowListener myWindowListener = new MyWindowListener();
   //private MyActionListener myActionListener = new MyActionListener();
   private Button btn1 = new Button("1");
   private Button btn2 = new Button("2");
   private Button btn3 = new Button("3");
   private Button btn4 = new Button("4");
   private Panel pnlNorth = new Panel(new BorderLayout());
   private Panel pnlCenter = new Panel(new GridLayout(1,1));
   private Panel pnlSouth = new Panel(new FlowLayout(FlowLayout.RIGHT));
   private Label lblUeberschrift = new Label("Test", Label.CENTER);
   private Label lbl = new Label("");

   public Test()
   {
      this.setTitle("Test");
      this.lblUeberschrift.setFont(new Font("",Font.BOLD,16));
      this.pnlNorth.add(lblUeberschrift);
      this.setSize(300,300);
      this.pnlNorth.add(btn1, BorderLayout.WEST);
      this.pnlNorth.add(btn2, BorderLayout.EAST);

      Panel p = new Panel(new BorderLayout());
      p.add(btn3, BorderLayout.NORTH);

      this.pnlCenter.add(p);
      this.pnlSouth.add(btn4);
      this.add(pnlNorth, BorderLayout.NORTH);
      this.add(pnlCenter, BorderLayout.CENTER);
      this.add(pnlSouth, BorderLayout.SOUTH);
      this.show();
      /*
      this.addWindowListener(this.myWindowListener);
      this.btn1.addActionListener(this.myActionListener);
      this.btn2.addActionListener(this.myActionListener);
      this.btn3.addActionListener(this.myActionListener);
      this.btn4.addActionListener(this.myActionListener);
      */


   }
   public static void main(String args[])
   {
      Test f = new Test();
   }
}
```


----------

