Choise functie uitleg

Status
Niet open voor verdere reacties.

bjornbos

Gebruiker
Lid geworden
1 feb 2009
Berichten
446
Hallo allemaal,

Wederom weer een vraag over java. Ik heb een choisebox, daarin staan de volgende dingen:

Op line 0 staat: Maak uw keuze...
Op line 1 staat: 2 Koeien
Op line 2 staat: 2 Bananen

Nu wil ik, wanneer iemand op "2 Koeien" klikt, dat er onder het keuzeveld een textfield verschijnt ( textfield1.setVisible(true); ) en dat daar in wordt gezet: "2 Koeien" ( textfield1.setText("2 Koeien"); ).

Ook wil ik, dat wanneer iemand op "2 Bananen" klikt, er onder het keuzeveld hetzelfde textfield komt te staan ( textfield1.setVisible(true); ) en dat daarin "2 Bananen" komt te staan ( textfield1.setText("2 Bananen") ).

Ik weet dat het zo iets moet zijn:

Wanneer iemand op "Maak uw keuze..." klikt...
Code:
[B]int[/B] i1 = risico.getSelectedIndex();

     [B]if[/B] (keuzeveld == 0)
     {
        label1.setText("U heeft geen keuze gemaakt");
     } 
    [B]else[/B] 
    {

    }

Wanner iemand op "2 Koeien" klikt...
Code:
     [B]if[/B] (keuzeveld == 1)
     {
        textField1.setVisible(true);
        textField1.setText("2 Koeien");
     } 
    [B]else[/B] 
    {

    }

Wanneer iemand op "2 Bananen" klikt...
Code:
     if (keuzeveld == 2)
     {
        textField1.setVisible(true);
        textField1.setText("2 Bananen");
     } 
    else 
    {

    }

Alleen ik weet niet hoe ik ervoor kan zorgen dat dit hele verhaaltje word uitgevoerd wanneer er op een keuze word geklikt. Dát wil ik namelijk... Weet iemand hoe ik dit doe?

Alvast heel erg bedankt!

Met vriendelijke groeten,

Björn Bos
 
Het gemakkelijkste is dat je je Class, waarin dit alles gebeurt, omtovert naar een ActionListener. Hoe?

Code:
public class  JouwClass implements ActionListener

Deze moet dan verplicht een methode actionPerformed hebben:

Code:
public void actionPerformed(ActionEvent e) {
[INDENT]if (e.getSource instanceof JComboBox) {
[INDENT]JComboBox cb = (JComboBox)e.getSource();
String string = (String)cb.getSelectedItem();
textField1.setText(string);[/INDENT]
}[/INDENT]
}

Nu moet je enkel nog zorgen dat je actionListener weet naar wat ie moet luisteren,
We gaan dus de JCombobox zeggen dat er iemand naar hem luistert.

Code:
String[] strings = { "Maak uw keuze...", "2 Koeien", "2 Bananen"};
JComboBox risico = new JComboBox(strings);
[B]risico.addActionListener(this);[/B]
 
En als ik dat hele verhaal in een al bestaande code moet plaatsen? Namelijk deze:

Code:
        import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

/**
  *
  * beschrijving
  *
  * @version 1.0 van 22-3-2011
  * @author
  */

public class keuzemaken extends Applet {
  // Begin variabelen
  private Label tekstonder = new Label();
  private Label tekstboven = new Label();
  private Label ster1 = new Label();
  private Label ster2 = new Label();
  private Label ster3 = new Label();
  private Label ster7 = new Label();
  private Button ja = new Button();
  private Button nee = new Button();
  private Button versturen = new Button();
  private Label verzonden = new Label();
  private TextField naamveld = new TextField();
  private TextField emailveld = new TextField();
  private TextArea opmerkingveld = new TextArea("", 1, 1, TextArea.SCROLLBARS_VERTICAL_ONLY);
  private TextField naamboeteveld = new TextField();
  private TextField urlbronveld = new TextField();
  private Choice keuzeveld = new Choice();
  private TextField boetebedragveld = new TextField();
  private Label ster5 = new Label();
  private Label ster4 = new Label();
  private Label ster6 = new Label();
  private Label naamlabel = new Label();
  private Label emaillabel = new Label();
  private Label kiesonderwerplabel = new Label();
  private Label naamboetelabel = new Label();
  private Label urlbronlabel = new Label();
  private Label boetebedraglabel = new Label();
  private Label opmerkingenlabel = new Label();
  // Einde variabelen

  public void init() {
    Panel cp = new Panel(null);
    cp.setBounds(0, 0, 380, 396);
    add(cp);
    // Begin componenten
    tekstonder.setBounds(112, 312, 237, 16);
    tekstonder.setText("");
    tekstonder.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    tekstonder.setVisible(false);
    cp.add(tekstonder);
    tekstboven.setBounds(112, 0, 179, 13);
    tekstboven.setText("");
    tekstboven.setFont(new Font("MS Sans Serif", Font.PLAIN, 11));
    tekstboven.setForeground(Color.RED);
    cp.add(tekstboven);
    ster1.setBounds(288, 24, 21, 24);
    ster1.setText("");
    ster1.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster1.setForeground(Color.RED);
    cp.add(ster1);
    ster2.setBounds(287, 56, 21, 24);
    ster2.setText("");
    ster2.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster2.setForeground(Color.RED);
    cp.add(ster2);
    ster3.setBounds(286, 88, 21, 24);
    ster3.setText("");
    ster3.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster3.setForeground(Color.RED);
    cp.add(ster3);
    ster7.setBounds(352, 216, 21, 24);
    ster7.setText("");
    ster7.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster7.setForeground(Color.RED);
    cp.add(ster7);
    ja.setBounds(112, 336, 35, 25);
    ja.setLabel("Ja");
    ja.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        ja_ActionPerformed(evt);
      }
    });
    ja.setFont(new Font("MS Sans Serif", Font.BOLD, 13));
    ja.setVisible(false);
    cp.add(ja);
    nee.setBounds(152, 336, 43, 25);
    nee.setLabel("Nee");
    nee.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        nee_ActionPerformed(evt);
      }
    });
    nee.setFont(new Font("MS Sans Serif", Font.BOLD, 13));
    nee.setVisible(false);
    cp.add(nee);
    versturen.setBounds(112, 304, 83, 25);
    versturen.setLabel("Versturen");
    versturen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        versturen_ActionPerformed(evt);
      }
    });
    versturen.setFont(new Font("MS Sans Serif", Font.BOLD, 13));
    versturen.setVisible(false);
    cp.add(versturen);
    verzonden.setBounds(112, 344, 245, 16);
    verzonden.setText("");
    verzonden.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    verzonden.setForeground(Color.BLACK);
    verzonden.setVisible(false);
    cp.add(verzonden);
    naamveld.setBounds(112, 24, 177, 24);
    naamveld.setText("");
    cp.add(naamveld);
    emailveld.setBounds(112, 56, 177, 24);
    emailveld.setText("");
    cp.add(emailveld);
    opmerkingveld.setBounds(112, 216, 241, 81);
    opmerkingveld.setText("");
    opmerkingveld.setVisible(false);
    cp.add(opmerkingveld);
    naamboeteveld.setBounds(112, 120, 177, 24);
    naamboeteveld.setText("");
    naamboeteveld.setVisible(false);
    cp.add(naamboeteveld);
    urlbronveld.setBounds(112, 152, 177, 24);
    urlbronveld.setText("");
    urlbronveld.setVisible(false);
    cp.add(urlbronveld);
    keuzeveld.setBounds(112, 88, 177, 24);
    keuzeveld.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent evt) {
        keuzeveld_ItemStateChanged(evt);
      }
    });
    keuzeveld.add("Kies...");
    keuzeveld.add("Foutieve boete");
    keuzeveld.add("Boete vergeten");
    cp.add(keuzeveld);
    boetebedragveld.setBounds(112, 184, 33, 24);
    boetebedragveld.setText("");
    boetebedragveld.setVisible(false);
    cp.add(boetebedragveld);
    ster5.setBounds(288, 152, 21, 24);
    ster5.setText("");
    ster5.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(ster5);
    ster4.setBounds(288, 120, 21, 24);
    ster4.setText("");
    ster4.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(ster4);
    ster6.setBounds(144, 184, 21, 24);
    ster6.setText("");
    ster6.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(ster6);
    naamlabel.setBounds(0, 24, 50, 16);
    naamlabel.setText("Naam:");
    naamlabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(naamlabel);
    emaillabel.setBounds(0, 56, 89, 16);
    emaillabel.setText("E-mail adres:");
    emaillabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(emaillabel);
    kiesonderwerplabel.setBounds(0, 88, 106, 16);
    kiesonderwerplabel.setText("Kies onderwerp:");
    kiesonderwerplabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(kiesonderwerplabel);
    naamboetelabel.setBounds(0, 120, 88, 16);
    naamboetelabel.setText("Naam boete:");
    naamboetelabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    naamboetelabel.setVisible(false);
    cp.add(naamboetelabel);
    urlbronlabel.setBounds(0, 152, 90, 16);
    urlbronlabel.setText("Url naar bron:");
    urlbronlabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    urlbronlabel.setVisible(false);
    cp.add(urlbronlabel);
    boetebedraglabel.setBounds(0, 184, 96, 16);
    boetebedraglabel.setText("Boete bedrag:");
    boetebedraglabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    boetebedraglabel.setVisible(false);
    cp.add(boetebedraglabel);
    opmerkingenlabel.setBounds(0, 216, 94, 16);
    opmerkingenlabel.setText("Opmerkingen:");
    opmerkingenlabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    opmerkingenlabel.setVisible(false);
    cp.add(opmerkingenlabel);
    // Einde componenten

  }
  // Begin eventmethoden

  public void versturen_ActionPerformed(ActionEvent evt)
  {
    String Naam = naamveld.getText();
    String Email = emailveld.getText();
    if(naamveld.getText().equals("")
    || emailveld.getText().equals(""))
    {
      tekstboven.setText("* Er ontbreken gegevens.");
      if(naamveld.getText().equals(""))
      {
        ster1.setText("*");
      }
      else
      {
        ster1.setText("");
      }
      if(emailveld.getText().equals(""))
      {
        ster2.setText("*");
      }
      else
      {
        ster2.setText("");
      }
    }
    else
    {
     if (i1 == 1)
     {
       naamboeteveld.setVisible(true);
       urlbronveld.setVisible(true);
       opmerkingveld.setVisible(true);
       naamboetelabel.setVisible(true);
       urlbronlabel.setVisible(true);
       opmerkingenlabel.setVisible(true);
       naamboetelabel.setText("Naam boete");
       urlbronlabel.setText("Url naar boete");
       opmerkingenlabel.setText("Opmerkingen");
     }
     else
     {

     }

    }
  }

  public void ja_ActionPerformed(ActionEvent evt) {

  }

  public void nee_ActionPerformed(ActionEvent evt) {

  }
  
  public void keuzeveld_ItemStateChanged(ItemEvent evt) {

  }

  // Einde eventmethoden

}
 
Volgens mij was je er hoor, ik heb enkel nog wat in je methode keuzeveld_ItemStateChanged(ItemEvent evt) geplaatst om de werking te tonen
Code:
        import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

/**
  *
  * beschrijving
  *
  * @version 1.0 van 22-3-2011
  * @author
  */

public class keuzemaken extends Applet {
  // Begin variabelen
  private Label tekstonder = new Label();
  private Label tekstboven = new Label();
  private Label ster1 = new Label();
  private Label ster2 = new Label();
  private Label ster3 = new Label();
  private Label ster7 = new Label();
  private Button ja = new Button();
  private Button nee = new Button();
  private Button versturen = new Button();
  private Label verzonden = new Label();
  private TextField naamveld = new TextField();
  private TextField emailveld = new TextField();
  private TextArea opmerkingveld = new TextArea("", 1, 1, TextArea.SCROLLBARS_VERTICAL_ONLY);
  private TextField naamboeteveld = new TextField();
  private TextField urlbronveld = new TextField();
  private Choice keuzeveld = new Choice();
  private TextField boetebedragveld = new TextField();
  private Label ster5 = new Label();
  private Label ster4 = new Label();
  private Label ster6 = new Label();
  private Label naamlabel = new Label();
  private Label emaillabel = new Label();
  private Label kiesonderwerplabel = new Label();
  private Label naamboetelabel = new Label();
  private Label urlbronlabel = new Label();
  private Label boetebedraglabel = new Label();
  private Label opmerkingenlabel = new Label();
  // Einde variabelen

  public void init() {
    Panel cp = new Panel(null);
    cp.setBounds(0, 0, 380, 396);
    add(cp);
    // Begin componenten
    tekstonder.setBounds(112, 312, 237, 16);
    tekstonder.setText("");
    tekstonder.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    tekstonder.setVisible(false);
    cp.add(tekstonder);
    tekstboven.setBounds(112, 0, 179, 13);
    tekstboven.setText("");
    tekstboven.setFont(new Font("MS Sans Serif", Font.PLAIN, 11));
    tekstboven.setForeground(Color.RED);
    cp.add(tekstboven);
    ster1.setBounds(288, 24, 21, 24);
    ster1.setText("");
    ster1.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster1.setForeground(Color.RED);
    cp.add(ster1);
    ster2.setBounds(287, 56, 21, 24);
    ster2.setText("");
    ster2.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster2.setForeground(Color.RED);
    cp.add(ster2);
    ster3.setBounds(286, 88, 21, 24);
    ster3.setText("");
    ster3.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster3.setForeground(Color.RED);
    cp.add(ster3);
    ster7.setBounds(352, 216, 21, 24);
    ster7.setText("");
    ster7.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    ster7.setForeground(Color.RED);
    cp.add(ster7);
    ja.setBounds(112, 336, 35, 25);
    ja.setLabel("Ja");
    ja.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        ja_ActionPerformed(evt);
      }
    });
    ja.setFont(new Font("MS Sans Serif", Font.BOLD, 13));
    ja.setVisible(false);
    cp.add(ja);
    nee.setBounds(152, 336, 43, 25);
    nee.setLabel("Nee");
    nee.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        nee_ActionPerformed(evt);
      }
    });
    nee.setFont(new Font("MS Sans Serif", Font.BOLD, 13));
    nee.setVisible(false);
    cp.add(nee);
    versturen.setBounds(112, 304, 83, 25);
    versturen.setLabel("Versturen");
    versturen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        versturen_ActionPerformed(evt);
      }
    });
    versturen.setFont(new Font("MS Sans Serif", Font.BOLD, 13));
    versturen.setVisible(false);
    cp.add(versturen);
    verzonden.setBounds(112, 344, 245, 16);
    verzonden.setText("");
    verzonden.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    verzonden.setForeground(Color.BLACK);
    verzonden.setVisible(false);
    cp.add(verzonden);
    naamveld.setBounds(112, 24, 177, 24);
    naamveld.setText("");
    cp.add(naamveld);
    emailveld.setBounds(112, 56, 177, 24);
    emailveld.setText("");
    cp.add(emailveld);
    opmerkingveld.setBounds(112, 216, 241, 81);
    opmerkingveld.setText("");
    opmerkingveld.setVisible(false);
    cp.add(opmerkingveld);
    naamboeteveld.setBounds(112, 120, 177, 24);
    naamboeteveld.setText("");
    naamboeteveld.setVisible(false);
    cp.add(naamboeteveld);
    urlbronveld.setBounds(112, 152, 177, 24);
    urlbronveld.setText("");
    urlbronveld.setVisible(false);
    cp.add(urlbronveld);
    keuzeveld.setBounds(112, 88, 177, 24);
    keuzeveld.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent evt) {
        keuzeveld_ItemStateChanged(evt);
      }
    });
    keuzeveld.add("Kies...");
    keuzeveld.add("Foutieve boete");
    keuzeveld.add("Boete vergeten");
    cp.add(keuzeveld);
    boetebedragveld.setBounds(112, 184, 33, 24);
    boetebedragveld.setText("");
    boetebedragveld.setVisible(false);
    cp.add(boetebedragveld);
    ster5.setBounds(288, 152, 21, 24);
    ster5.setText("");
    ster5.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(ster5);
    ster4.setBounds(288, 120, 21, 24);
    ster4.setText("");
    ster4.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(ster4);
    ster6.setBounds(144, 184, 21, 24);
    ster6.setText("");
    ster6.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(ster6);
    naamlabel.setBounds(0, 24, 50, 16);
    naamlabel.setText("Naam:");
    naamlabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(naamlabel);
    emaillabel.setBounds(0, 56, 89, 16);
    emaillabel.setText("E-mail adres:");
    emaillabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(emaillabel);
    kiesonderwerplabel.setBounds(0, 88, 106, 16);
    kiesonderwerplabel.setText("Kies onderwerp:");
    kiesonderwerplabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(kiesonderwerplabel);
    naamboetelabel.setBounds(0, 120, 88, 16);
    naamboetelabel.setText("Naam boete:");
    naamboetelabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    naamboetelabel.setVisible(false);
    cp.add(naamboetelabel);
    urlbronlabel.setBounds(0, 152, 90, 16);
    urlbronlabel.setText("Url naar bron:");
    urlbronlabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    urlbronlabel.setVisible(false);
    cp.add(urlbronlabel);
    boetebedraglabel.setBounds(0, 184, 96, 16);
    boetebedraglabel.setText("Boete bedrag:");
    boetebedraglabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    boetebedraglabel.setVisible(false);
    cp.add(boetebedraglabel);
    opmerkingenlabel.setBounds(0, 216, 94, 16);
    opmerkingenlabel.setText("Opmerkingen:");
    opmerkingenlabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    opmerkingenlabel.setVisible(false);
    cp.add(opmerkingenlabel);
    // Einde componenten

  }
  // Begin eventmethoden

  public void versturen_ActionPerformed(ActionEvent evt)
  {
    String Naam = naamveld.getText();
    String Email = emailveld.getText();
    if(naamveld.getText().equals("")
    || emailveld.getText().equals(""))
    {
      tekstboven.setText("* Er ontbreken gegevens.");
      if(naamveld.getText().equals(""))
      {
        ster1.setText("*");
      }
      else
      {
        ster1.setText("");
      }
      if(emailveld.getText().equals(""))
      {
        ster2.setText("*");
      }
      else
      {
        ster2.setText("");
      }
    }
    else
    {
     if (i1 == 1)
     {
       naamboeteveld.setVisible(true);
       urlbronveld.setVisible(true);
       opmerkingveld.setVisible(true);
       naamboetelabel.setVisible(true);
       urlbronlabel.setVisible(true);
       opmerkingenlabel.setVisible(true);
       naamboetelabel.setText("Naam boete");
       urlbronlabel.setText("Url naar boete");
       opmerkingenlabel.setText("Opmerkingen");
     }
     else
     {

     }

    }
  }

  public void ja_ActionPerformed(ActionEvent evt) {

  }

  public void nee_ActionPerformed(ActionEvent evt) {

  }
  
  public void keuzeveld_ItemStateChanged(ItemEvent evt) {
[INDENT]String str = (String) evt.getItem();
        if (str.equals("Kies...")) {
            naamboeteveld.setText("");
            naamboeteveld.setVisible(false);
        } else {
            naamboeteveld.setText(str);
            naamboeteveld.setVisible(true);
        }[/INDENT]
  }

  // Einde eventmethoden

}
[/QUOTE]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan