Hallo,
Ich möchte zwei JSpinner sich gegenseitig bedingen lassen. Der aktuelle Wert des ersten JSpinners soll das Minimum des zweiten JSpinners sein. Andersrum hat der aktuelle Wert des zweiten JSpinners das Maximum des ersten JSpinners zu sein.
Das ganze wäre sicherlich trivial für SpinnerNumberModel, allerdings muss ich die JSpinner über SpinnerListModel laufen lassen. Gibt es die Möglichkeit (und wenn ja wie) ähnlich wie für SpinnerNumberModel, Minimum und Maximum über die Array-Indizes zu definieren und die jeweiligen JSpinner davon abhängig zu machen?
Natürlich könnte man als weniger elegante Lösung nach jedem ChangeEvent der JSpinner zwei Sub-Arrays erzeugen lassen und diese als neue Arrays an beide JSpinner übergeben. Allerdings hab ich Befürchtungen, dass es gerade bei großen Datensätzen (mehrere hunderttausende Array-Elemente), die es durchzurattern gilt, zu erheblichen Performance-Einbußen kommen könnte.
Einfacher wäre es, nach jedem ChangeEvent einfach nur Min- und Max-Werte für die Array-Indizes der jeweiligen JSpinner neu zu setzen.
Ich hoffe, hier kann jemand aushelfen.
Ich möchte zwei JSpinner sich gegenseitig bedingen lassen. Der aktuelle Wert des ersten JSpinners soll das Minimum des zweiten JSpinners sein. Andersrum hat der aktuelle Wert des zweiten JSpinners das Maximum des ersten JSpinners zu sein.
Das ganze wäre sicherlich trivial für SpinnerNumberModel, allerdings muss ich die JSpinner über SpinnerListModel laufen lassen. Gibt es die Möglichkeit (und wenn ja wie) ähnlich wie für SpinnerNumberModel, Minimum und Maximum über die Array-Indizes zu definieren und die jeweiligen JSpinner davon abhängig zu machen?
Natürlich könnte man als weniger elegante Lösung nach jedem ChangeEvent der JSpinner zwei Sub-Arrays erzeugen lassen und diese als neue Arrays an beide JSpinner übergeben. Allerdings hab ich Befürchtungen, dass es gerade bei großen Datensätzen (mehrere hunderttausende Array-Elemente), die es durchzurattern gilt, zu erheblichen Performance-Einbußen kommen könnte.
Einfacher wäre es, nach jedem ChangeEvent einfach nur Min- und Max-Werte für die Array-Indizes der jeweiligen JSpinner neu zu setzen.
Ich hoffe, hier kann jemand aushelfen.
Zuletzt bearbeitet: