JComboBox Obergrenzen/Untergrenze festlegen?

Moch

Bekanntes Mitglied
Hallo,
Wir arbeiten gerade mit dem Framework Salespoint und sollen für die Nutzer eines bestimmten Shops ein Geburtsdatum einführen. Ich würde dies gerne mit drei JComboBoxen realisieren, allerdings bin ich von der schieren Menge an Methoden förmlich erschlagen...

Mit welcher der Methoden kann ich die Obergrenze (integer) festlegen?
Für die JComboBox day soll die Obergrenze z.B. 31 sein
Für die [...] month entsprechend 12

Bei der ComboBox year möchte ich gerne einen sinnigen Wertebereich (ka. 1880 - heute) realisieren. Hier müsste ich also sowohl Ober-, als auch Untergrenze einbauen.

Mag mir da einer helfen?

lieben Gruß
Moch
 
Eine JComboBox zeigt einfach nur eine Liste von Einträgen an, sowas wie ne Obergrenze einstellen kannst du nicht einfach so per Methodenaufruf.
Das muss alles dein zugrunde liegendes Model regeln.

Bei nem JSpinner hast du die Möglichkeit nen NumberModel zu hinterlegen und da Ober- sowie Untergrenze zu definieren.
 
Die ComboBox kannst du z.B so initalisieren.

Java:
Integer[] days = new Integer[31]
for (int i=0; i<=days.length; i++) {
   days[i] = ++i;
}

JComboBox comboBoxDays= new JComboBox(days);
 
Zuletzt bearbeitet:
Danke erstmal für Eure Hilfe.
Besonders patrick81 hat mir sehr geholfen! 🙂

Hab zwar noch ein kleines Problem mit der Darstellung, aber das ist Formatierungssache.

hm, wie heißt denn in JComboBox die Methode, um den Wert auszulesen?
Ich habe jetzt weder eine getValue(), noch eine toString() gefunden.

Grüße
Moch

Edit: Ein Hinweis noch @patrick81: Dein Quelltext ist so nicht richtig.
durch ++i werden nur alle ungeraden Zahlen belegt und der Rest offenbar mit null initialisiert ... korrekter Term muss hier = i+1; sein.
Schleifenobergrenze habe ich nicht als <=, sondern nur als < initialisiert.
Damit läuft das alles 🙂
Hast mir damit SEHR geholfen! Danke 🙂
 
Zuletzt bearbeitet:
@Moch
du hast recht mit der Schleife. Hatte ich nicht getestet, sorry.

mit der Methode comboBox.getSelectedItem kriegst du den ausgewählten Wert als Object zurück. Dann musst du nur noch casten.

Java:
Integer[] days = new Integer[31];
for (int i = 0; i < days.length; i++) {
	days[i] = i+1;
}

JComboBox comboBoxDays = new JComboBox(days);
int i = (Integer) comboBoxDays.getSelectedItem();
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben