BorderLayout richtig einstellen

ITA

Mitglied
Hallo leute ,
ich hoffe ihr könnt mir ein wenig helfen

folgendes:

ich will eine EuroUmrechner machen mit Frames ,Panels und Labels

wie krieg ich ergebnis und Ausgansbetrag alles auf die linke seite und direkt untereinander? hab rumpobiert mit frames und panels aber ich schaff das nicht

also ungefähr so

----------------------------------------------------------------------------------
Ausgansbetrag <----Label
Ergebnis <----Label





------------------------------------------------------------------------------
Code:
import java.util.*;
import java.awt.*;
import java.awt.event.*;




public class Menu extends Frame {
private Button b1,b2;


class Bal1 implements ActionListener {
    public void actionPerformed(ActionEvent e) {     
        }
  }

  
  class Bal2 implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      }
  }
  //-----------------------------------------------------------------
  public void windowClosing(WindowEvent e) {
        System.exit(0);
        }
        
  //-----------------------------------------------------------      
      

Menu() {
    super ("Converter");
    this.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
        System.exit(0);
        }
    });
    
    b1 = new Button("Rechnung");
    b1.addActionListener(new Bal1());
    b2 = new Button("Beenden");
    b2.addActionListener(new Bal2());   
    Label lbl = new Label("Ausgangsbetrag");
    Label lbl2 = new Label("Ergebnis");
    
    
    lbl.setAlignment(0);
    
    Panel p = new Panel();
    Panel p1 = new Panel();
    this.setLayout(new BorderLayout());
     
    add(p,BorderLayout.WEST);
    add(p1,BorderLayout.WEST);

        
    p.add(lbl);
    p.add(lbl2);
    
    
}

}

public class Start{

public static void main(String[] args) {
        Menu men;
        men = new Menu();
        men.setSize(400,300);
        men.setVisible(true);
                
     }
    }

mfg ITA
 
Du benötigst einen Layoutmanager. Dieser ermöglichen dir eine genau Darstellung deiner Komponente.

Lass Bitte die Finger vom NULL-Layout, ich rate dir das BoxLayout zu verwenden.

info1

info2
 
@Stigma: Er hat doch ein Borderlayout benutzt :)

Beim BorderLayout ist es so, dass du nur eine Komponente pro Himmelsrichtung benutzen kannst.

Ich habe deinen Code mal leicht modifiziert:
Java:
package de.tutorials;

import java.util.*;
import java.awt.*;
import java.awt.event.*;

public class Menu extends Frame {
	private Button b1, b2;

	class Bal1 implements ActionListener {
		public void actionPerformed(ActionEvent e) {
		}
	}

	class Bal2 implements ActionListener {
		public void actionPerformed(ActionEvent e) {
		}
	}

	// -----------------------------------------------------------------
	public void windowClosing(WindowEvent e) {
		System.exit(0);
	}

	// -----------------------------------------------------------

	Menu() {
		super("Converter");
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});

		b1 = new Button("Rechnung");
		b1.addActionListener(new Bal1());
		b2 = new Button("Beenden");
		b2.addActionListener(new Bal2());
		Label lbl = new Label("Ausgangsbetrag");
		Label lbl2 = new Label("Ergebnis");

		lbl.setAlignment(0);

		Panel p = new Panel();
		p.setBackground(Color.RED);
		Panel p1 = new Panel();
		p1.setBackground(Color.BLUE);
		this.setLayout(new BorderLayout());

		add(p, BorderLayout.WEST);
		add(p1, BorderLayout.EAST);

		p.add(lbl);
		p.add(lbl2);

	}

	public static void main(String[] args) {
		Menu men = new Menu();
		men.setSize(400, 300);
		men.setVisible(true);

	}

}

Ein wenig Farben zeigen immer ganz gut wo was liegt... und wos nicht hingehört.

Also das BorderLayout ist nicht unbedingt geeignet für das was du vorhast.
Hier findest du eine Übersicht und Beschreibung über die zur Verfügung stehenden Layoutmanager: http://www.galileocomputing.de/open...15_010.htm#mja5fc4cd2b16efd52329dc93681e75194
 
Stimmt, das habe ich übersehen.

Mir fällt es immer noch sehr schwer fremden Code zu lesen, vor allem dann wenn dieser nicht meinem Muster entspricht.


Code:
    Panel p = new Panel();
    Panel p1 = new Panel();
    this.setLayout(new BorderLayout());
     
    add(p,BorderLayout.WEST);
    add(p1,BorderLayout.WEST);


Du legst lehre Panal´s an, diese (zwei) werden beide in den Westen gesetzt, was zur Folge hat das nur das zuletz eingefügte gültig und somit angezeigt wird.In deinem Fall das p1, dies überschreibt p
 
danke leutz

ich hab den code immer umgeschrieben und dabei ist es dann geblieben.
aber cool werde mal ausprobieren
 
Nun wäre es ganz schön wenn du den Beitrag als erledigt markierst und dich eventuell (optional (muss nicht, wäre aber schön)) bei jemanden bedankst.
 
Es ist immernoch nicht fertig ^^
ausgangsbetrag und ergebnis soll untereinander sein geht aber irgendwie nicht.
das macht mich krank

achja ihc hab mich bedankt ;)
 
Gib mir deinen Code und mach eine kleine Zeichnung mit Paint und ich werde dir die Lösung geben.

Wenn du die Aufgabe wirklich noch heute gelöst haben willst dann aber schnell.
 
Zuletzt bearbeitet:
Zurück