Einstieg in AWT

Lapuch

Mitglied
Hallo zusammen,
ich habe ein bisschen mit AWT Komponenten rumgespielt und hoffe Ihr könntet mir zwei Fragen antworten und zwar: In folgendem Quelltext habe ich mich für freies Layout entschieden setLayout(null). Warum kann ich mein Label und Auswahlfeld nur sehen wenn ich diese Zeile ausblende? Und muss sich die Farbe des Labels nicht mit Betätigung des Auswahlfeldes ändern?

Java:
import java.awt.*;

import java.awt.event.* ;

class Zu extends WindowAdapter {  //Fenster schließen
    @Override
  public void windowClosing(WindowEvent e) {
      System.exit(0);
  }
}



public class fenster  extends Frame   { 

       Label l1;
    public fenster (String titel){
        setTitle (titel);
        setSize(1280,775); 
        setBackground(Color.lightGray);
        setForeground(Color.black);    
        addWindowListener(new Zu());
        
          setLayout(null);

         Panel pan = new Panel();
         pan.setSize(1280,775);
         pan.setBackground(Color.white);
         add(pan);
                
           int Zahl=4;

           l1 = new Label(Zahl+"");
            pan.add(l1);
           Choice auswahl=new Choice();
           auswahl.addItem("Rot");
           auswahl.addItem("Schwarz");
           auswahl.addItem("Grün");
           auswahl.setLocation(400,300);	
           auswahl.setSize(80,30);		
           pan.add(auswahl);

           int zahl=auswahl.getSelectedIndex();
          
           switch(zahl){
              
               case 1: l1.setForeground(Color.red);
               case 2: l1.setForeground(Color.black);
               case 3: l1.setForeground(Color.green);
           }

        setVisible(true);
    }
 

Marco13

Top Contributor
Vorneweg: Du solltest dir statt AWT lieber Swing ansehen: Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials)
Moderner, flexibler, besser dokumentiert...


Warum kann ich mein Label und Auswahlfeld nur sehen wenn ich diese Zeile ausblende?
Das Panel hat eine Location von (0,0). Oben sieht man noch das Label, aber es ist hinter der Titelleiste des Frames versteckt.

Und muss sich die Farbe des Labels nicht mit Betätigung des Auswahlfeldes ändern?
Um auf solche Sachen zu reagieren, muss man einen Listener an die Choice (oder JComboBox in Swing) hängen.
 

Ähnliche Java Themen

Neue Themen


Oben