AWT Labels

MMSC

Neues Mitglied
Hallo
Ich brauche ein Fenster mit drei Labels aber irgendwie schaffe ichs nicht, dass ich alle drei Beschriftungen sehe... ich weiß auch nicht wo der Fehler ist: das ist mein Code:

Java:
import java.awt.*;
import java.awt.event.*;

public class TestFrame extends Frame
{
  Label label1 = new Label("Arbeitsbeginn");
  Label label2 = new Label("Arbeitsende");
  Label label3 = new Label("10h-Limit");


  public TestFrame () 
  {
    setTitle("Beschriftungsbeispiel");                              
    addWindowListener(new TestWindowListener());
    setSize(500,200);
    label1.setAlignment(Label.LEFT);
    label1.setFont(new Font("Arial", Font.PLAIN, 18));                   
    add(label1);
    setSize(500,200);                                                                                                                                
    setVisible(true);
    label2.setAlignment(Label.CENTER);
    label2.setFont(new Font("Arial", Font.PLAIN, 18));               
    add(label2);
    setSize(500,200);                                                                                                                                
    setVisible(true);
    label3.setAlignment(Label.RIGHT);
    label3.setFont(new Font("Arial", Font.PLAIN, 18));               
    add(label3);                                                  
    setSize(500,200);                                                                               
    setVisible(true);
    setResizable(false);
                           
  }

  class TestWindowListener extends WindowAdapter
  {
    public void windowClosing(WindowEvent e)
    {
      e.getWindow().dispose();                  
      System.exit(0);                            
    }           
  }
  
  public static void main (String args[]) 
  {
    new TestFrame ();
  }
}
Wäre Dankbar für Hilfe
 
Zuletzt bearbeitet von einem Moderator:

SSAT

Mitglied
Warum schreibst du dreimal

Java:
setSize(500,200);
setVisible(true);

Einmal am Ende des Konstruktors reicht vollkommen und löst vielleicht schon dein Problem.
 

illusi0n

Mitglied
Hallo,


du solltest vielleicht mal dein Layout überprüfen bzw ein neues Layout setzen :)

Java:
setLayout(new GridLayout());

Würde dir vielleicht helfen - so kann ich zumindest alle 3 Label.
Ansonsten, wenn du ohne GridLayout arbeiten möchtest, hast du mal resizeable auf true gesetzt und das Fenster groß gemacht? ;)

Wenn du das nächste mal Quellcode postest benutze doch bitte [ JAVA ] [/ JAVA ] - so ist es für uns und auch dich übersichtlicher.



Java:
package mmsc;

import java.awt.Font;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestFrame extends Frame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	Label label1 = new Label("Arbeitsbeginn");
	Label label2 = new Label("Arbeitsende");
	Label label3 = new Label("10h-Limit");

	public TestFrame() {
		setLayout(new GridLayout());
		
		setTitle("Beschriftungsbeispiel");
		setSize(500, 200);
		
		label1.setAlignment(Label.LEFT);
		label1.setFont(new Font("Arial", Font.PLAIN, 18));
		add(label1);
		
		label2.setAlignment(Label.CENTER);
		label2.setFont(new Font("Arial", Font.PLAIN, 18));
		add(label2);
		
		label3.setAlignment(Label.RIGHT);
		label3.setFont(new Font("Arial", Font.PLAIN, 18));
		add(label3);

		setVisible(true);
		setResizable(false);

	}

	class TestWindowListener extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			e.getWindow().dispose();
			System.exit(0);
		}
	}

	public static void main(String args[]) {
		new TestFrame();
	}
}


Ich hoffe ich konnte dir helfen!
 

MMSC

Neues Mitglied
vielen Dank!!! das hat mir sehr geholfen
hab noch eine Frage: wie kann ich da jetzt diese Labels noch nach oben versetzten (also dass sie ganz oben im Fenster stehen...)

Liebe Grüße
 

illusi0n

Mitglied
Hey,

beschäftige dich mit den Layouttypen des GUIs.

Nützlicher Link

Ich würde dir vielleicht noch empfehlen (persönliche Präferenz) lieber SWING statt AWT zu benutzen. :)
Solltest du mit Eclipse GUIs programmieren, empfehle ich dir den "Window Builder" - dort kannst du alles zusammenklicken und dann entweder aus dem Code lernen oder ihn nach belieben modifizieren.
So mache ich es jedenfalls immer, da ich keine Lust habe immer ein komplettes GUI "einzutippen".

[EDIT]Ich glaube in Eclipse Juno ist der Window Builder sogar schon integriert.[/EDIT]
 

Ähnliche Java Themen

Neue Themen


Oben