Werte aus Jcombobox sollten als int-Werte zurück gegeben .

Status
Nicht offen für weitere Antworten.
M

markimark

Gast
Hallo,

ich habe folgende Jcombobox erstellt:

Code:
	   Object[] jahre = {2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008};
	   JComboBox cbox2 = new JComboBox(jahre);


Wenn der Nutzer nun eine dieser Werte aus der Box wählt, dann sollte der Wert ( Bsp. 2005 ) als int zurückgegeben werden, da ich mit diesem Wert gerne rechnen möchte.


int ichwillmitdirrechnen = ??? keine Ahnung ???


Könntihr mir dabei bitte weiterhelfen? ???:L
 
S

SlaterB

Gast
int jahr = ((Integer) jahre[cBox2.getSelectedIndex()]).intValue();

keine Auswahl in Combobox (selectedIndex -1) abfangen
 
G

Guest

Gast
Leider wird in dieser Methode nur 0 ausgegeben:

Code:
		public void gebeJahrzurück()
		{
			try {
				 jahresanzahl = ((Integer) jahre[cbox2.getSelectedIndex()])
						.intValue();
			} catch (NullPointerException e) {
				// TODO: handle exception
				System.out.println( jahresanzahl);
			}

		}


Folgendes habe ich ganz oben in die Klasse als variable geschrieben:

Code:
		Object[] jahre = {2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008};


Wo könnte hier der Fehler liegen?
 
S

SlaterB

Gast
ich kann es aus deinem Codeausschnitt nicht erkennen,
bei mir läufts

Code:
public class TestGUI
    extends JFrame
{
    Object[] jahre =
        {2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008};
    JComboBox cbox2 = new JComboBox(jahre);


    public TestGUI()
        throws Exception
    {
        setLayout(new FlowLayout());
        add(cbox2);

        JButton b = new JButton("Test");
        b.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {

                    gebeJahrzurück();
                }
            });

        add(b);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 200);
        setVisible(true);
    }

    public void gebeJahrzurück()
    {
        int jahresanzahl = ((Integer)jahre[cbox2.getSelectedIndex()]).intValue();
        System.out.println("jahresanzahl: " + jahresanzahl);
    }


    public static void main(String[] args)
        throws Exception
    {
        new TestGUI();
    }
}
 
G

Guest

Gast
@Slaterb und Community: Es wird immer nur 0 als Jahr angezeigt ( siehe Codezeile 125):

Code:
	import java.awt.*; 
	import javax.swing.*; 
import java.awt.event.*; 
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

	public class Fenster extends JFrame implements ActionListener 
	{ 
		Kalender kal = new Kalender();
		KalenderFunktionen kalle = new KalenderFunktionen();
		GregorianCalendar gc = new GregorianCalendar();
		SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
		String kalenderstring = "";
		private JTextArea textarea;
		public JComboBox cbox;
		public JComboBox cbox2;
		Object[] jahre = {2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008};
		Object[] monate = kalle.monatsname;
		private static final long serialVersionUID = 1L; 
		
		/**
		 * Der x-te Monat eines Jahres.
		 */
		private int monatsanzahl = 0;
		/**
		 * Das Jahr
		 */
		private int jahresanzahl = 0;
		/**
		 * Die Anzahl der Tage eines Monats.
		 */
		private int tagesanzahl;

		
		public int getMonatsanzahl()
		{
			return monatsanzahl;
		}

		/**
		 * @param monatsanzahl
		 * Der x-te Monat eines Jahres.
		 */
		public void setMonatsanzahl(int monatsanzahl)
		{
			this.monatsanzahl = monatsanzahl;
		}


		/**
		 * Der x-te Monat eines Jahres wird erfasst.
		 */
		public void erfasseMonatsanzahl()
		{
			monatsanzahl = cbox.getSelectedIndex();
		}
		/**
		 * @return
		 * Die Gesamtanzahl der Tage eines Monats.
		 */
		public int getTagesanzahl()
		{
			return tagesanzahl;
		}

		/**
		 * @param tagesanzahl
		 * Die Gesamtanzahl der Tage eines Monats.
		 */
		public void setTagesanzahl(int tagesanzahl)
		{
			this.tagesanzahl = tagesanzahl;
		}

		/**
		 * Die Gesamtanzahl der Tage eines Monats wird zurückgegeben.
		 * @param monatsnummer
		 * Der x-te Monat eines Jahres.
		 * @return
		 * Die Gesamtanzahl der Tage eines Monats.
		 */
		public int lieferetagesanzahl(int monatsnummer)
		{
			if (kalle.istSchaltjahr(jahresanzahl) == true && monatsnummer ==2 )
			{
				tagesanzahl = 29;
			}
			else
			{
				tagesanzahl = kalle.tage_im_monat(monatsnummer, jahresanzahl);
			}
			return tagesanzahl;
		}
		
		/**
		 * @return
		 * Das Jahr wird zurückgegeben
		 */
		public int getJahresanzahl()
		{
			return jahresanzahl;
		}

		/**
		 * @param jahresanzahl
		 * das Jahr.
		 */
		public void setJahresanzahl(int jahresanzahl)
		{
			this.jahresanzahl = jahresanzahl;
		}
		
		
		/**
		 * Eine durch den Benutzer auf der Konsole eingegebene Jahresanzahl wird erfasst.
		 */
		public void erfasseJahresanzahl()
		{
			try {
				 jahresanzahl = ((Integer) jahre[cbox2.getSelectedIndex()])
						.intValue();
			} catch (NullPointerException e) {
				// TODO: handle exception
				System.out.println( jahresanzahl);
			}

		}
		

		/**
		 * Hier werden die Tage von 1 bis zur Gesamtanzahl der Tage eines Monats aufsteigend ausgegeben und in einen String
		 * gespeichert. Mit Berücksichtigung auf welchen Tage der Erste. eines Monats fällt, wird per Tabulator eingerückt.
		 * @param jahresanzahl
		 * Das Jahr.
		 * @param monatsanzahl
		 * Der x-te Monat.
		 * @param tagesanzahl
		 * Die Gesamtanzahl der Tage.
		 * @return
		 */
		public String schreibetage(int jahresanzahl, int monatsanzahl,
				int tagesanzahl)
		{
			String ausgabe = "";
			gc.set(jahresanzahl, monatsanzahl - 1, 1);
			int wochentag = gc.get(Calendar.DAY_OF_WEEK);

			for (int i = 1; i < wochentag; i++) {
				ausgabe += "\t";
			}
			if (wochentag == 1) {
				ausgabe += " ";
			}
			for (int i = 1; i <= tagesanzahl; i++) {
				int tagesnummer = kalle.tagesnummer(i, monatsanzahl, jahresanzahl);
				String feier = kalle.istFeiertag(jahresanzahl, tagesnummer);
				if (i < 10) {
					if (feier == null)
					{
						ausgabe += "0" + i + "\t";
					}
					else
					{
						ausgabe += "*" + "0" + i + "*" + "\t";
					}
				} else {
					if (feier == null)
					{
						ausgabe +=  i + "\t";
					}
					else
					{
						ausgabe += "*" + i + "*" + "\t";
					}
				}
				if ((i + wochentag - 1) % 7 == 0) {
					ausgabe += "\n" + " ";
				}
			}

			return ausgabe;
		}
	
		
	
		
	public void autorzeigen()
	{
		JOptionPane.showMessageDialog(this,
	    "Autor: Christian Kirrmann \n Version: 1.0 \n Versionsdatum: 2.12.2007");
	}
	
	public void jahrzeigen()
	{
		erfasseJahresanzahl();
		for (int i = 1; i <= 12; i++) {
			kalenderstring += (i);
			kalenderstring += kal.schreibetage(getJahresanzahl(), i, kal.lieferetagesanzahl(i)) + "\n";	
		}
		textarea.append(kalenderstring);
	}
	
	public void monatzeigen()
	{
		erfasseJahresanzahl();
		erfasseMonatsanzahl();
		kalenderstring += monatdeckblatt(getMonatsanzahl());
		lieferetagesanzahl(getMonatsanzahl());
		kalenderstring += schreibetage(getJahresanzahl(), getMonatsanzahl(), getTagesanzahl());
		textarea.append(kalenderstring);
	}
	
	
	public String monatdeckblatt(int monatsnummer)
	{
		String ausgabe = "";
		KalenderFunktionen kalle = new KalenderFunktionen();
		final  String[] b = kalle.monatsname;
		ausgabe += "\n                    " + b[monatsnummer] + " " + getJahresanzahl();
		ausgabe += "\n----------------------------------------------------";
		ausgabe +="\n " + "So" + "	" + "Mo" + "	" + "Di" + "	" + "Mi"
				+ "	" + "Do" + "	" + "Fr" + "	" + "Sa" + " \n";
		return ausgabe;
	}

	/**
	 *  Alles Grafische
	 */
	public Fenster() 
	{ 
	   super ("Kalender"); 
	   super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
	   

	   setLayout (new GridBagLayout()); 
	   GridBagConstraints gc = new GridBagConstraints(); 
	   gc.insets = new Insets (5, 5, 5, 5); 
	   gc.anchor = GridBagConstraints.WEST;


	   gc.gridy = 0;
	   JMenuBar menuleiste = new JMenuBar();
	   add(menuleiste, gc);
	   JMenu dateispalte = new JMenu ("Datei");
	   menuleiste.add(dateispalte);
	   JMenuItem öffnen = new JMenuItem("Öffnen");
	   dateispalte.add(öffnen);
	   JMenuItem speichern = new JMenuItem("Speichern");
	   dateispalte.add(speichern); 
	   JMenuItem beenden = new JMenuItem("Beenden");
	   dateispalte.add(beenden);
	   
	   JMenu kalenderspalte = new JMenu ("Kalender");
	   menuleiste.add(kalenderspalte);
	   JMenuItem feiertage = new JMenuItem("Feiertage");
	   kalenderspalte.add(feiertage);
	   JMenuItem feiertageso = new JMenuItem("Feiertage, ohne So/Sa");
	   kalenderspalte.add(feiertageso); 
	   JMenuItem wann = new JMenuItem("Wann");
	   kalenderspalte.add(wann);
	   
	   JMenu lookspalte = new JMenu ("Look & Feel");
	   menuleiste.add(lookspalte);
	   JMenuItem windows = new JMenuItem("Windows");
	   lookspalte.add(windows );
	   JMenuItem metal = new JMenuItem("Metal");
	   lookspalte.add(metal); 
	   JMenuItem motif = new JMenuItem("Motif");
	   lookspalte.add(motif);
	   
	   JMenu infospalte = new JMenu ("Info");
	   menuleiste.add(infospalte);
	   JMenuItem autor = new JMenuItem("Autor/in");
	   infospalte.add(autor);
	   autor.addActionListener(this);
	   JMenuItem hilfe = new JMenuItem("Hilfe");
	   infospalte.add(hilfe); 

	   gc.gridx = 1;
	   gc.gridy = 1;
	   gc.weighty = 1;
	   cbox = new JComboBox(monate);
	   add(cbox, gc);
	   
	   gc.gridx = 2; 
	   gc.gridy = 1;
	   gc.weightx = 1;
	   gc.weighty = 1;
	   JComboBox cbox2 = new JComboBox(jahre);
	   add(cbox2, gc);
	   

	   JRadioButton b1 = new JRadioButton("Monat"); 
	   JRadioButton b2 = new JRadioButton("Jahr"); 
	   JRadioButton b3 = new JRadioButton("Monat mit Feiertagen"); 
	   JRadioButton b4 = new JRadioButton("Jahr mit Feiertagen"); 
	   ButtonGroup gruppe = new ButtonGroup();
	   gruppe.add(b1);
	   gruppe.add(b2);
	   gruppe.add(b3);
	   gruppe.add(b4);
	   gc.gridy = 2;
	   add (b1, gc);
	   b1.addActionListener(this);
	   gc.gridy = 3;
	   add (b2, gc);
	   b2.addActionListener(this);
	   gc.gridy = 4;
	   add (b3, gc);
	   b3.addActionListener(this);
	   gc.gridy = 5;
	   add (b4, gc);
	   b4.addActionListener(this);
	   
	   gc.fill = GridBagConstraints.BOTH;
	   gc.gridy = 6;
	   gc.gridx = 0;
	   textarea = new JTextArea("Test");
	   add(new JScrollPane(textarea));
	   add(textarea, gc);
	   
	} 

	public void actionPerformed(ActionEvent e) 
	{ 
		if (e.getActionCommand().equals("Autor/in"))
		{
			autorzeigen();
		}
		
		if (e.getActionCommand().equals("Monat"))
		{
			monatzeigen();
		}
			
		if (e.getActionCommand().equals("Jahr"))
		{
			jahrzeigen();
		}


	} 



	    
}

Ich finde den Fehler einfiach nicht...
 
S

SlaterB

Gast
deine Exemplarvariable cbox2 ist null,
daher kommt es immer zur Exception und du siehst die 0-Ausgabe im catch-Block

(sehr pessimistisch, überhaupt nur im catch die Zahl auszugeben ;) )

warum ist cbox2 null?
im Konstruktor definierst du eine lokale Variable:
JComboBox cbox2 = new JComboBox(jahre);


schreibe stattdessen
cbox2 = new JComboBox(jahre);
oder gar
this.cbox2 = new JComboBox(jahre);

dann ist die Exemplarvariable nicht mehr null

-------

bei
cbox = new JComboBox(monate);
hast du es bereits richtig gemacht
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
M JComboBox feste double Werte zu ordnen Java Basics - Anfänger-Themen 8
F Werte aus JComboBox auslesen und Zahlen zuordnen Java Basics - Anfänger-Themen 5
B Werte aus einer JCombobox in eine Liste Java Basics - Anfänger-Themen 16
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum sind Werte in den Feldern ? Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
M Nur int-Werte erlauben Java Basics - Anfänger-Themen 11
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H OOP Werte mit Set verändern Java Basics - Anfänger-Themen 6
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
H Welche Werte bei Objekterzeugung eingeben? Java Basics - Anfänger-Themen 2
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
C Zufallszahl + Werte bereich einstellen Java Basics - Anfänger-Themen 2
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
L 2 Dimensional Array werte überschreiben Java Basics - Anfänger-Themen 1
K Array alle Werte aufsummieren und ausgeben Java Basics - Anfänger-Themen 6
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
Rubberduck Combobox-Werte in GUI anzeigen Java Basics - Anfänger-Themen 13
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
A Negative float Werte? Java Basics - Anfänger-Themen 10
Kirby.exe Fehlende Int Werte aus Array mit streams finden Java Basics - Anfänger-Themen 19
Ellachen55 Wie nach häufigste Werte im Array suchen? Java Basics - Anfänger-Themen 2
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
M Werte ändern sich nicht mehr nach Reset Java Basics - Anfänger-Themen 14
F Character umwandeln als Double Werte Java Basics - Anfänger-Themen 8
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
S Werte aufsummieren in java? Java Basics - Anfänger-Themen 5
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
C System.in.read() Boolsche Werte vergleichen Java Basics - Anfänger-Themen 8
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
E Eigenschaften Werte, in einer anderen Klasse, zuweisen Java Basics - Anfänger-Themen 40
H Methoden Nutzung der Werte einer ausgeführten Objektmethode in anderen Objektmethoden Java Basics - Anfänger-Themen 2
O Map Werte Java Basics - Anfänger-Themen 2
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
L Werte zufällig aus Array zurückgeben Java Basics - Anfänger-Themen 15
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
S werte von objekten in schleife verändern Java Basics - Anfänger-Themen 14
R Vererbung werte von einem Objekt aus ein anderes übertragen Java Basics - Anfänger-Themen 7
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
L Bestimmte Werte eines Arrays ausgeben. Java Basics - Anfänger-Themen 3
Hanschyo String kann nicht Werte von Long annehmen Java Basics - Anfänger-Themen 2
A Sortieren ausgerechneter Werte aus einer TXT Datei Java Basics - Anfänger-Themen 8
S Werte in Klasse übergeben Java Basics - Anfänger-Themen 12
C Auf einzelne Werte aus HashSet zugreifen Java Basics - Anfänger-Themen 10
S Werte in Liste mit Nachfolger vergleichen Java Basics - Anfänger-Themen 5
M Vererbung Konstruktoren mit festen Werte Java Basics - Anfänger-Themen 2
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
Jinnai4 Werte in Textdatei ändern Java Basics - Anfänger-Themen 2
L Gleiche Werte aus Array aussortieren Java Basics - Anfänger-Themen 5
L Gleiche Werte im Array hochzählen Java Basics - Anfänger-Themen 4
C Matrix-Werte werden nicht wie erwartet ausgegeben Java Basics - Anfänger-Themen 7
V Warum speichert meine String-Variable nummerische Werte? Java Basics - Anfänger-Themen 3
Henri Bestimmte Werte eine XML-Datei ausgeben. Java Basics - Anfänger-Themen 8
N Array-Werte zusammenfassen Java Basics - Anfänger-Themen 20
D Werte AVL-Baum löschen Java Basics - Anfänger-Themen 2
N Collections Werte aus .txt in einer Collection speichern Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben