Label Größe ändern?

  • Themenstarter Themenstarter Wanki
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
W

Wanki

Gast
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 :

Code:
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 :

Code:
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
 
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:
 
verdammt dass ReProMos hab ich vergessen zu ändern......
das heißt auch test
Sorry!
 
Wanki hat gesagt.:
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 :

Code:
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 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();
	}
}

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

Code:
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


sooo nu is Richtig 🙂!
 
Wanki hat gesagt.:
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 :

Code:
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 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();
	}
}

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

Code:
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


sooo nu is Richtig 🙂!
 
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));
^
C:\Dokumente und Einstellungen\Mustafa\Eigene Dateien\test1.java:21: internal error; cannot instantiate Font.<init> at Font to ()
this.lblUeberschrift.setFont(new Font("",Font.BOLD,16));

Kannst du uns denn nicht wenigstens kompilierbaren Code posten :noe:
 
Sorry!

So nochmal

Code:
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......
 
Bei mir auch. Lag daran daß ich irgendwann mal mit AWT-Klassen
rumgespielt habe.

Das Teil sieht bei mir so aus

Test.jpg


Und was willst du jetzt geändert haben?
 
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?
 
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)
 
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?
 
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.
 
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.
 
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)
Code:
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();
   }
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben