Borderlayout und Checkboxgruppen

Status
Nicht offen für weitere Antworten.

Checker

Mitglied
Hallo, ich hab da ein ganz tolles Problem betreffend das AWT, sitze jetzt schon ein paar Stunden daran und bekomme es einfach nicht hin 🙁

Also ich habe 2 Probleme bei meinem Borderlayout
1. Im "North, "South" und "Center" sind schon Buttons und Labels vorhanden, jetzt muss ich aber noch eine weitere Zeile mit einem weiteren Label einfügen, kann man das irgendwie schaffen, ohne das ich das ganze Layout umstellen muss?
2. Möchte ich im "West" eine Checkboxgruppe erstellen bzw. habe es versucht und bekomme da immer nur tolle Fehlermeldungen. Kann mir da jemand einen Tipp geben, ob das überhaupt geht? - Ich bin für jede Hilfe dankbar



Mein Code sieht bislang so aus:
Code:
import java.awt.*;
import java.awt.event.*;

public class Anwendung extends Frame
                        implements WindowListener , 
                                   ActionListener,
	                   ItemListener

private Button btnBeenden;
private Button southButtons[];
private Panel southPnl, northPnl, centerPnl;
private CheckboxGroup eastPnl;
private TextField textZeileEingabe1, textZeileEingabe2, textZeileEingabe3;

private List Wert;
private CheckboxGroup c;
private Checkbox dollar, euro;

   public void windowOpened( WindowEvent e ){}
   public void windowClosing( WindowEvent e)
   {
     exitProgram();
   }
   public void windowClosed( WindowEvent e ){}
   public void windowIconified( WindowEvent e ){}
   public void windowDeiconified( WindowEvent e ){}
   public void windowActivated( WindowEvent e ){}
   public void windowDeactivated( WindowEvent e ){}
   
   public void actionPerformed( ActionEvent e )
   {
     if( e.getSource() == btnBeenden )
     {
       exitProgram();
     }
    }

      Anwendung
     super(  );
     
     setTitle( "Anwendung" );

     // define new colors for this window
     setForeground( Color.BLUE );
     setBackground( Color.lightGray );
     
     // do some size initialization
     setSize( 300, 750 );
     
     // now do the layout
     initLayout();
     
     addWindowListener( this );    
     // finally make this window visible
     setVisible( true );    
   }
   protected void initLayout()
   {
   	setLayout(new BorderLayout());
   	
    northPnl = new Panel();
    northPnl.setLayout( new FlowLayout() );
    northPnl.add( new Label( "Eingabe" ) );
    textZeileEingabe1 = new TextField( "" , 2 );
    northPnl.add( textZeileEingabe1 );
    northPnl.add(new Label ("km"));
    add( "North" , northPnl );
    textZeileTrinkbeginn.addActionListener( this );

    centerPnl = new Panel();
    centerPnl.setLayout( new FlowLayout );   
    centerPnl.add( new Label("Größe") );
    textZeileKoerpergewicht = new TextField("");
    centerPnl.add( textZeileEingabe2);
    centerPnl.add( new Label ("cm"));
    add( "Center" , centerPnl );
    textZeileKoerpergewicht.addActionListener( this );

    southPnl = new Panel();
    southPnl.setLayout(new FlowLayout());
    southButtons = new Button[3];
    btnBeenden = new Button( "Beenden" );
    southButtons[0] = new Button("berechnen");
    southButtons[1] = new Button("neue Werte");
    southButtons[2] = btnBeenden;
    for (int i = 0 ; i < southButtons.length ; i++)
    {
      southPnl.add(southButtons[i]);
    }
    add("South" , southPnl);
    btnBeenden.addActionListener( this ); 

    westPnl = new CheckboxGroup();
    dollar = new Checkbox("Dollar", c, false);
    add(dollar);
    dollar.addItenListener(this);
    euro = new Checkbox("Euro", c, true);
    add(euro);
    euro.addItemListener(this);

   public void itemStateChanged(ItemEvent e)
   {
   //	if (event.getSource()== auswahl)
   		//String gewaehlteAuswahl = e.getItem().toString();
   	
   }
   
   void exitProgram()
   {
      dispose();
     System.exit( 0 );
  }
   
   public static void main( String args [] )
   {
     // create a window object
     Anwendung f = new Anwendung( );
   }
}
 
Prinzipiell geht das ohne Probleme.

Du macht dir ne neues Panel gibts dem n neues Layout und packst das dann in dein Frame, NORTH, SOUTH, usw...
wo dus halt hin haben willst und auf das Panel machst du deine Komponenten dann drauf.
 
Code:
CheckboxGroup cbg1 = new CheckboxGroup();
CheckboxGroup cbg2 = new CheckboxGroup();
panel.add(new Checkbox("rot",cbg1,true));
panel.add(new Checkbox("eckig",cbg2,true));
panel.add(new Checkbox("blau",cbg1,false));
panel.add(new Checkbox("rund",cbg2,false));
panel.add(new Checkbox("gelb",cbg1,false));
panel.add(new Checkbox("schief",cbg2,false));

Das hab ich noch im JavaBuch gefunden wovon es übrigens jetzt die 4.Auflage gibt

Link -> http://www.JavaBuch.de
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben