Zwei Choice-Menüs verknüpfen

Status
Nicht offen für weitere Antworten.

BennyM85

Mitglied
Hi leute ich hab ein problem, ich möchte eine art musik lieder liste machen. im ersten choice soll das alphabet erscheinen und erst wenn ich ein buchstabe ausgewählt habe soll im zweiten choice songtitel mit dem anfangsbuchstaben des ersten choice erscheinen. mit einem druck auf ok soll dann der text in der textarena angezeigt werden... ich komm nur leider nicht weiter... erstmal ist es egal was im choice steht, kann man ja später noch editieren aber die verknüpfung der beiden choice menüs müsste doch über den switch gehen oder?
Bitte helft mir
Code:
import java.awt.*;
import java.awt.event.*;

public class Lustig extends java.applet.Applet {
  Choice eins = new Choice();
  Choice zwei = new Choice();
  Choice ch = new Choice();
  Button haurein = new Button("OK");
  Panel oben = new Panel();
  Panel unten = new Panel();
  TextArea hallo = new TextArea();

  public void init () {
  hallo = new TextArea(" ",6,35,TextArea.SCROLLBARS_VERTICAL_ONLY);
  setLayout(new BorderLayout());
  oben.setLayout(new BorderLayout());
    zwei.setVisible(true);
    oben.add("West", eins);
    oben.add("Center", zwei);
    oben.add("East", haurein);
    eins.add("A"); zwei.add("All About You");
    eins.add("B"); zwei.add("All Creation Cries To You");
    eins.add("C");  ch.add("Bla");
    eins.add("D");
    eins.add("E");
    eins.add("F");
    eins.add("G");
    eins.add("H");
    eins.add("I");
    eins.add("J");
    eins.add("K");
    eins.add("L");
    eins.add("M");
    eins.add("N");
    eins.add("O");
    eins.add("P");
    eins.add("Q");
    eins.add("R");
    eins.add("S");
    eins.add("T");
    eins.add("U");
    eins.add("V");
    eins.add("W");
    eins.add("X");
    eins.add("Y");
    eins.add("Z");
    
    unten.setLayout(new BorderLayout());
    unten.add("Center",hallo);

    add("North", oben);
    add(unten);
    
    Bla meineKlasse = new Bla();
    
   
   }
   class Bla implements ActionListener{
     public void actionPerformed(ActionEvent e){
       switch(eins.getSelectedIndex()){
         case 0:{break;}
         case 1:{zwei.setVisible(false);
         oben.add("Center", ch);
         ch.setVisible(true);break;}
         default: break;
       }
     }
   }
}
 
Ich weiß zwar nicht, ob das hier deine Ansprüche erfüllt, aber versuche es einmal damit (wenn du damit zufrieden sein solltest, nehme ich auch gerne Spenden in Form eines Gashausbesuches o.ä. an 😀 ):
Code:
/*
 * Created on 29.09.2004
 *
 * TODO
 * 
 */

/**
 * @author ABollm/BennyM85
 *
 * TODO
 */
import java.awt.*; 
import java.awt.event.*;

public class Lustig extends java.applet.Applet { 
  Choice eins = new Choice(); 
  Choice zwei = new Choice(); 
  Choice ch = new Choice(); 
  Button haurein = new Button("OK"); 
  Panel oben = new Panel(); 
  Panel unten = new Panel(); 
  TextArea hallo = new TextArea();
  private TextField tc;
  String titel[][] = {
                     // A
                     {"All About You",
                      "All Creation Cries To You", 
                      "Arc of a diver",
                      "Arschloch"},
                     // B
                     {"Baby snakes",
                      "Bad Boys",
                      "Biko"},
                     // C
                     {"China Girl",
                      "California Girl"},
                     // D
                     {"Dumdum Girl",
                      "Dadada"},
                     // ...
                     // W
                     {"White Rabbit",
                      "Won't be fooled again"}
                     };

  public void init () { 
  hallo = new TextArea(" ",6,35,TextArea.SCROLLBARS_VERTICAL_ONLY); 
  setLayout(new BorderLayout()); 
  oben.setLayout(new BorderLayout()); 
    zwei.setVisible(true); 
    oben.add("West", eins); 
    oben.add("Center", zwei); 
    oben.add("East", haurein); 
    eins.add("A"); 
    eins.add("B"); 
    eins.add("C"); 
    eins.add("D"); 
    /*
    eins.add("E"); 
    eins.add("F");
    eins.add("G"); 
    eins.add("H"); 
    eins.add("I"); 
    eins.add("J"); 
    eins.add("K"); 
    eins.add("L"); 
    eins.add("M"); 
    eins.add("N"); 
    eins.add("O"); 
    eins.add("P"); 
    eins.add("Q"); 
    eins.add("R"); 
    eins.add("S"); 
    eins.add("T"); 
    eins.add("U"); 
    eins.add("V"); 
    */
    eins.add("W"); 
    /*
    eins.add("X"); 
    eins.add("Y"); 
    eins.add("Z");
    */
    // ...nur zu Beginn
    for (int i = 0; i<titel[0].length;i++){
        zwei.add(titel[0][i]);
    }
    tc = new TextField(eins.getItem(0), 30);
    tc.setEditable(false);
    tc.setFont(new Font(eins.getItem(0), Font.PLAIN, 14));
    
    eins.addItemListener(new ChoiceHandler(tc));
    eins.addItemListener(new SetChoiceHandler(tc));
    
    zwei.addItemListener(new ChoiceHandler(tc));
    zwei.addItemListener(new SetChoiceHandler(tc));
    
    ch.add("Bla");
    
    unten.setLayout(new BorderLayout()); 
    unten.add("Center",hallo); 

    add("North", oben); 
    add(unten); 
    add(tc);
    Bla meineKlasse = new Bla(); 

  } 
  class SetChoiceHandler implements ItemListener {
      private TextField field;
      private Choice cField;

      public SetChoiceHandler(Choice t) {
          cField = t;
      }

      public SetChoiceHandler(TextField t) {
          field = t;
      }

      public void itemStateChanged(ItemEvent e) {
            Choice choice = (Choice) e.getItemSelectable();
            if (e.getSource() == eins) {
                zwei.removeAll();
                for (int i = 0; i < titel[eins.getSelectedIndex()].length; i++) {
                    zwei.add(titel[eins.getSelectedIndex()][i]);
                }
                field.setText("Index-Titel:" + eins.getSelectedIndex()
                        + " -> Anfangsbuchstabe-Titel: " + e.getItem());
                //
                //System.out.println("Erster Titel für Anfangsbuchstabe ["
                //        + e.getItem() + "]: " + zwei.getSelectedItem());
            }
        }
    }

    class ChoiceHandler implements ItemListener {
        private Component component;

        public ChoiceHandler(Component c) {
            component = c;
        }

        public void itemStateChanged(ItemEvent e) {
            component.setFont(new Font(e.getItem().toString(), component
                    .getFont().getStyle(), component.getFont().getSize()));
        }
    }

    class Bla implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            switch (eins.getSelectedIndex()) {
            case 0: {
                break;
            }
            case 1: {
                zwei.setVisible(false);
                oben.add("Center", ch);
                ch.setVisible(true);
                break;
            }
            default:
                break;
            }
        }
    }
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben