JComboBox getSelectedItem

oli94

Neues Mitglied
Hallo,
ich will aus der Combobox die Formel entnehmen und mit dieser weiterrechnen?

Kann mir jemand helfen, schreibe am Mittwoch eine Arbeite darüber!

Gruß Oli

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Rahmen extends JFrame implements ActionListener
{
  JButton b1,b2,b3,b4;
  JLabel l1,l2,l3,l4;
  JTextField t1,t2,t3,t4;
  JCheckBox cb1,cb2,cb3,cb4;
  JComboBox c1;
  JRadioButton r1,r2,r3,r4;


   public void actionPerformed(ActionEvent e)
      {
           int a = Integer.parseInt(t1.getText());
            int b = Integer.parseInt(t2.getText());
            int c = Integer.parseInt(t3.getText());
            int d = 0;
            if(c1.getSelectedItem("Formel1"))
            d= a+b+c;

             if(c1.getSelectedItem("Formel2"))
            d=a+a+c;



            if(d<0)
            t4.setForeground(Color.red);

            else
            t4.setForeground(Color.black);

            t4.setText(""+c);
      }


  
  
  
  public Rahmen()
  {
    setLayout(null);

    l1 = new JLabel("Zahl 1");
    l1.setBounds(8, 24, 67, 25);
    add(l1);
    
    l2 = new JLabel("Zahl 2");
    l2.setBounds(8, 64, 67, 25);
    add(l2);
    
    l3 = new JLabel("Zahl 3");
    l3.setBounds(8, 104, 67, 25);
    add(l3);
    
    l4 = new JLabel("Ergebnis");
    l4.setBounds(8, 144, 67, 25);
    add(l4);


    c1 = new JComboBox();
    c1.setBounds(8, 192, 73, 25);
    c1.addItem("Formel1");
    c1.addItem("Formel2");
    add(c1);
    
    t1 = new JTextField("0");
    t1.setBounds(128, 24, 89, 25);
    add(t1);

    t2 = new JTextField("0");
    t2.setBounds(128, 64, 89, 25);
    add(t2);

    t3 = new JTextField("0");
    t3.setBounds(128, 104, 89, 25);
    add(t3);

    t4 = new JTextField("");
    t4.setEditable(false);
    t4.setBounds(128, 144, 89, 25);
    add(t4);



    b1 = new JButton("Berechnen");
    b1.setBounds(0, 256, 105, 33);
    add(b1);
    

    b2 = new JButton("Zurücksetzen");
    b2.setBounds(128, 256, 113, 33);
     b2.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
      {
      t1.setText("0");
      t2.setText("0");
      t3.setText("0");
      t4.setText("");
      }
     });
     add(b2);
    

    b3 = new JButton("Beenden");
    b3.setBounds(264, 256, 97, 33);
     b3.addActionListener(new ActionListener()
     {
                   public void actionPerformed(ActionEvent e)
                   {
                          dispose();
                   }

     });
     add(b3);
    

    b4 = new JButton("Ergebnis +1");
    b4.setBounds(56, 312, 241, 41);
    add(b4);
    
    
    
    
    

    setResizable(false);
    setSize(400,400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }

  public static void main(String[] args)
  {
    new Rahmen();
  }
}
 
Zuletzt bearbeitet von einem Moderator:
Wie kommt ihr alle darauf, dass ein JFrame ein Rahmen ist? Oo

Die Klasse JComboBox besitzt keine Methode #getSelectedItem(String). Das hätte dir jeder Compiler sagen können.
 
1) FAQ lesen, Google verwenden
2) Titel: Nimm Titel die etwas aussagen:
3) Frage: Stell Fragen die man beantworten kann.
4) Problem:
Code:
ich will
hilft uns nicht weiter, woran scheiterst du?
5) Initiative: Streng dich an, was hast du schon versucht.

6) Probiers dann nochmal.
 
Du solltest deinem Berechnen Button auch den ActionListener übergeben b1.addActionListener(this); könnte helfen.
Wenn du mal in die API schaust, wirst du feststellen, das #getSelectedItem(); ein Object zurückgibt.
ein Cast könnte da evtl. helfen auch wenn ich in deinem Fall lieber mit dem Index arbeiten würde.

Hab mal drin rumgedoktort, wobei ich mich nur auf deine Fragestellung bezogen hab, nicht aber auf irgendwelche weiterführende Eigenschaften deines Codes.:autsch: Tip: es kommt immer c raus :lol:

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Rahmen extends JFrame implements ActionListener
{
  JButton b1,b2,b3,b4;
  JLabel l1,l2,l3,l4;
  JTextField t1,t2,t3,t4;
  JCheckBox cb1,cb2,cb3,cb4;
  JComboBox c1;
  JRadioButton r1,r2,r3,r4;
  
  //mein Edit
  private String[] nameFormel = {"Formel 1", "Formel 2"};
 
 
   public void actionPerformed(ActionEvent e)
      {
           int a = Integer.parseInt(t1.getText());
            int b = Integer.parseInt(t2.getText());
            int c = Integer.parseInt(t3.getText());
            int d = 0;
            if(c1.getSelectedIndex()==0){
            d= a+b+c;}
 
            else if(c1.getSelectedIndex()==1){
            d=a+a+c;}
 
 
 
            if(d<0)
            t4.setForeground(Color.red);
 
            else
            t4.setForeground(Color.black);
 
            t4.setText(""+c);
      }
 
 
  
  
  
  public Rahmen()
  {
    setLayout(null);//<<autsch!!
 
    l1 = new JLabel("Zahl 1");
    l1.setBounds(8, 24, 67, 25);
    add(l1);
    
    l2 = new JLabel("Zahl 2");
    l2.setBounds(8, 64, 67, 25);
    add(l2);
    
    l3 = new JLabel("Zahl 3");
    l3.setBounds(8, 104, 67, 25);
    add(l3);
    
    l4 = new JLabel("Ergebnis");
    l4.setBounds(8, 144, 67, 25);
    add(l4);
 
 
    c1 = new JComboBox();
    c1.setBounds(8, 192, 73, 25);
    
    //hier war ich auch drann
    c1.addItem(nameFormel[0]);
    c1.addItem(nameFormel[1]);
    //ende von meinem zeugs
    
    add(c1);
    
    t1 = new JTextField("0");
    t1.setBounds(128, 24, 89, 25);
    add(t1);
 
    t2 = new JTextField("0");
    t2.setBounds(128, 64, 89, 25);
    add(t2);
 
    t3 = new JTextField("0");
    t3.setBounds(128, 104, 89, 25);
    add(t3);
 
    t4 = new JTextField("");
    t4.setEditable(false);
    t4.setBounds(128, 144, 89, 25);
    add(t4);
 
 
 
    b1 = new JButton("Berechnen");
    b1.setBounds(0, 256, 105, 33);
    //hier hab ich den ActionListener zugewiesen
    b1.addActionListener(this);
    add(b1);
    
 
    b2 = new JButton("Zurücksetzen");
    b2.setBounds(128, 256, 113, 33);
     b2.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
      {
      t1.setText("0");
      t2.setText("0");
      t3.setText("0");
      t4.setText("");
      }
     });
     add(b2);
    
 
    b3 = new JButton("Beenden");
    b3.setBounds(264, 256, 97, 33);
     b3.addActionListener(new ActionListener()
     {
                   public void actionPerformed(ActionEvent e)
                   {
                          dispose();
                   }
 
     });
     add(b3);
    
 
    b4 = new JButton("Ergebnis +1");
    b4.setBounds(56, 312, 241, 41);
    add(b4);
    
    
    
    
    
 
    setResizable(false);
    setSize(400,400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }
 
  public static void main(String[] args)
  {
    new Rahmen();
  }
}
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben