Layout erstellt, doch alles nur "weiss" !

FlorianR

Erfahrenes Mitglied
Hallo, ich bräuchte dringend Hilfe von euch, da ich morgen ein Projekt abgeben muss...
Ich habe (versucht) ein Layout zu basteln... beim starten gibt er aber weder ein Textfeld noch ein Label aus... nur weiss... ! Nur die Titelleiste funktioniert.
Ich hoffe ihr könnt mir weiterhelfen.

Gruß,
Florian

Code:
/*
 * Created on 21.06.2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Florian
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import java.awt.*; // importiert die benötigten Elemente

public class Zinsrechnung_GUI extends Frame
{
	// Einrichten der TextLabels:
	private Label lblUeberschrift
							  = new Label("Wittekind GmbH Zinsrechner");
	private Label lblZinsen   = new Label("Zinsen:");
	private Label lblKapital  = new Label("Kapital:");
	private Label lblZinssatz = new Label("Zinssatz:");
	private Label lblLaufzeit = new Label("Laufzeit(in Tagen):");
	private Label lblAusgabe  = new Label("Ergebnis:");
	
	// Einrichten der Textfelder:
	private TextField tfZinsen    = new TextField(10);
	private TextField tfKapital   = new TextField(10);
	private TextField tfZinssatz  = new TextField(10);
	private TextField tfLaufzeit  = new TextField(10);
	private TextField tfAusgabe   = new TextField(10);
	
	// Einrichten der Buttons:
	private Button btnZinsen   = new Button("Zinsen");
	private Button btnKapital  = new Button("Kapital");
	private Button btnZinssatz = new Button("Zinssatz");
	private Button btnLaufzeit = new Button("Laufzeit");
	
	// Panels einrichten:
	private Panel pnlNorth 	= new Panel();
	private Panel pnlCenter = new Panel(new GridLayout(5,2));
	private Panel pnlSouth  = new Panel(new GridLayout(1,0));
	private Panel pnlCenterZeile1
							= new Panel(new FlowLayout(FlowLayout.LEFT));
	private Panel pnlCenterZeile2
							= new Panel(new FlowLayout(FlowLayout.LEFT));
	private Panel pnlCenterZeile3
							= new Panel(new FlowLayout(FlowLayout.LEFT));
	private Panel pnlCenterZeile4
							= new Panel(new FlowLayout(FlowLayout.LEFT));
	private Panel pnlCenterZeile5
							= new Panel(new FlowLayout(FlowLayout.LEFT));
	
	// legt den ActionListener fest
	/*private MyActionListener MyActionListener
										= new MyActionListener(this);*/
	
	// grafisches Layout wird codiert
	public Zinsrechnung_GUI()
	{
		super("Wittekind GmbH's Zinsrechner - ");
		this.lblUeberschrift.setFont(
								 new Font("",Font.BOLD,14));
		this.pnlNorth.add(lblUeberschrift);
		this.pnlCenterZeile1.add(this.lblZinsen);
		this.pnlCenterZeile1.add(this.tfZinsen);
		this.pnlCenterZeile2.add(this.lblKapital);
		this.pnlCenterZeile2.add(this.tfKapital);
		this.pnlCenterZeile3.add(this.lblZinssatz);
		this.pnlCenterZeile3.add(this.tfZinssatz);
		this.pnlCenterZeile4.add(this.lblLaufzeit);
		this.pnlCenterZeile4.add(this.tfLaufzeit);
		this.lblAusgabe.setFont(
							new Font("",Font.BOLD,13));
		this.pnlCenterZeile5.add(this.lblAusgabe);
		this.pnlCenterZeile5.add(this.tfAusgabe);
		this.pnlSouth.add(this.btnZinsen);
		this.pnlSouth.add(this.btnKapital); 
		this.pnlSouth.add(this.btnZinssatz);
		this.pnlSouth.add(this.btnLaufzeit);
		this.show();
		
	}
	public static void main( String args[] )
	  {
		Zinsrechnung_GUI f = new Zinsrechnung_GUI();
		
	  }
//public static void main( String args[] )	
}//public class Zinsrechnung_GUI extends Frame
 
Zuletzt bearbeitet:
So wie ich das sehe musst du erst mal ein Layout anlegen, zu dem du dann die Panels hinzufügst.
Also erstmal setLayout(new Borderlayout()), oder sonstiges Layout und dann mit add() die Panels draufsetzen, sonst bleiben die natürlich unsichtbar.
 
Hast du mal probiert die Objekte ("Labels") als static zu definieren

Denke das ist der Fehler, die Objekte existieren schon nicht mehr wenn du sie auf die Panels setzen willst.

Oder sie direkt in der Klasse zu definierten

public class sowieso {

variable initialisieren

JLabel label = new JLabel();

public void blabla() {
//Zeugs
}
}

Schreib obs funktioniert hat.

MFG RMI
 
Also, ich weiß nicht ob ich es vielleicht übersehen hab, aber fügst du eigentlich die Panels dem Fenster hinzu

add(Panel)

Weist du den Panels überhaupt eine größe zu?
 
ja

ich machs so ich füge den Panels die Componenten hinzu (Buttons, Labels,...) und dann füge ich die Panels dem Contentpane hinzu

getContentPane().add(Panel)

Wenn du den Panels keine Größe zuweist, dann passen Sie sich selbständig an.

Mfg RMI
 
Hier ist der Code




import java.awt.*; // importiert die benötigten Elemente

public class Zinsrechnung_GUI extends Frame
{
// Einrichten der TextLabels:
private Label lblUeberschrift
= new Label("Wittekind GmbH Zinsrechner");
private Label lblZinsen = new Label("Zinsen:");
private Label lblKapital = new Label("Kapital:");
private Label lblZinssatz = new Label("Zinssatz:");
private Label lblLaufzeit = new Label("Laufzeit(in Tagen):");
private Label lblAusgabe = new Label("Ergebnis:");

// Einrichten der Textfelder:
private TextField tfZinsen = new TextField(10);
private TextField tfKapital = new TextField(10);
private TextField tfZinssatz = new TextField(10);
private TextField tfLaufzeit = new TextField(10);
private TextField tfAusgabe = new TextField(10);

// Einrichten der Buttons:
private Button btnZinsen = new Button("Zinsen");
private Button btnKapital = new Button("Kapital");
private Button btnZinssatz = new Button("Zinssatz");
private Button btnLaufzeit = new Button("Laufzeit");

// Panels einrichten:

private Panel pnlNorth = new Panel();
private Panel pnlCenter = new Panel(new GridLayout(5,2));
private Panel pnlSouth = new Panel(new GridLayout(1,0));
private Panel pnlCenterZeile1= new Panel(new FlowLayout(FlowLayout.LEFT));
private Panel pnlCenterZeile2= new Panel(new FlowLayout(FlowLayout.LEFT));
private Panel pnlCenterZeile3= new Panel(new FlowLayout(FlowLayout.LEFT));
private Panel pnlCenterZeile4= new Panel(new FlowLayout(FlowLayout.LEFT));
private Panel pnlCenterZeile5 = new Panel(new FlowLayout(FlowLayout.LEFT));

// legt den ActionListener fest
/*private MyActionListener MyActionListener
= new MyActionListener(this);*/

// grafisches Layout wird codiert
public Zinsrechnung_GUI()
{
super("Wittekind GmbH's Zinsrechner - ");
this.lblUeberschrift.setFont(
new Font("",Font.BOLD,14));
this.pnlNorth.add(lblUeberschrift);
this.pnlCenterZeile1.add(this.lblZinsen);
this.pnlCenterZeile1.add(this.tfZinsen);
this.pnlCenterZeile2.add(this.lblKapital);
this.pnlCenterZeile2.add(this.tfKapital);
this.pnlCenterZeile3.add(this.lblZinssatz);
this.pnlCenterZeile3.add(this.tfZinssatz);
this.pnlCenterZeile4.add(this.lblLaufzeit);
this.pnlCenterZeile4.add(this.tfLaufzeit);
this.lblAusgabe.setFont(
new Font("",Font.BOLD,13));
this.pnlCenterZeile5.add(this.lblAusgabe);
this.pnlCenterZeile5.add(this.tfAusgabe);
this.pnlSouth.add(this.btnZinsen);
this.pnlSouth.add(this.btnKapital);
this.pnlSouth.add(this.btnZinssatz);
this.pnlSouth.add(this.btnLaufzeit);

getContentPane().add(pnlSouth)
getContentPane().add(pnlNorth)
getContentPane().add(pnlCenter)
getContentPane().add(pnlCenterZeile5)
getContentPane().add(pnlCenterZeile4)
getContentPane().add(pnlCenterZeile3)
getContentPane().add(pnlCenterZeile2)
getContentPane().add(pnlCenterZeile1)

this.show();

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

}
//public static void main( String args[] )
}//public class Zinsrechnung_GUI extends Frame


Hoffe es hilft

MFG RMI
 
Zurück