JSpinner

chrisBLN

Mitglied
Hallo liebe Forum-Mitglieder,
ich beschäftige mich gerade zu Übungszwecken mit dem JSpinner und habe mir einen kleinen Spinner mit dem SpinnerNumberModel erstellt. Funktioniert soweit ganz gut. Allerdings möchte ich in der Methode "stateChanged()" einer Variablen "aktuell" den aktuellen Wert aus dem Spinner zuweisen. Leider verursacht dies eine "java.lang.ClassCastException".
Wie kommt das zustande und wie kann ich das Problem lösen?
Danke schon mal im Voraus!
Viele Grüße Chris
Java:
import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.WindowConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class SpinnerDemo extends JFrame
{

    /**
     *
     */
    private static final long serialVersionUID = -5260652152678682066L;

    private static long max;
    private static long min;
    private static long increment;
    private static long aktuell = -1;

    private SpinnerNumberModel model;
    private JSpinner spinner;
    private JLabel meinLabel;

    private static String s;

    public SpinnerDemo()
    {

        super("SpinnerDemo");
        setLayout(new BorderLayout());
        setSize(250, 100);
        setLocation(200, 200);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        final JLabel meinLabel = new JLabel();
        meinLabel.setSize(230, 20);
        meinLabel.setText("Klicke einen Wert!");
        add(meinLabel);

        // JSpinner wird erzeugt

        model = new SpinnerNumberModel(aktuell, min, max, increment);
        spinner = new JSpinner(model);
        spinner.setSize(230, 20);
        spinner.setValue(min);
        ChangeListener l = new ChangeListener()
        {

            @Override
            public void stateChanged(ChangeEvent e)
            {
                if (e.getSource() == spinner)
                {

                    s = spinner.getValue().toString();
                    meinLabel.setText("Der Wert ist " + s + ".");
                    // aktuell = (long) spinner.getValue(); // verursacht java.lang.ClassCastException
                    // aktuell = Long.valueOf(s);

                }
            }
        };
        spinner.addChangeListener(l);
        add(spinner);

        {

            meinLabel.add(spinner);
            add(meinLabel);
            setVisible(true);
        }
    }

    public static void main(String[] args)
    {
        min = -10;
        max = 10;
        increment = 4;

        SpinnerDemo sd = new SpinnerDemo();

    }
}
 
Zuletzt bearbeitet von einem Moderator:

chrisBLN

Mitglied
Ich kann also kein Double(Object)-Wert in eine long-Variable "stopfen". Über den Umweg über ein Wrapper-Object (valueOf) geht es auch nicht.
Und wie komme ich jetzt zu meinem aktuellen Wert aus dem Spinner? :eek: Ok ... da muss ich mir mal was ausdenken. :cool:
Beste Grüße und vielen Dank!

P.s. Also ganz einfach. Ich hab aus der long-Variablen eine Object-Variable gemacht und schon funktioniert es.:)
 
Zuletzt bearbeitet:

Harry Kane

Top Contributor
Ich kann also kein Double(Object)-Wert in eine long-Variable "stopfen"
Nein, das läuft nicht. Long und Double erweitern beide Number und stehen damit in der Vererbungshierarchie auf demselben Level.
Brauchst du unbedingt eine Number-Instance, oder reicht auch eine primitive Variable? Im letztreen Fall bietet sich ((Number)spinner.getValue()).longValue() an.
 

chrisBLN

Mitglied
Oh ... was ist das für ein Konstrukt?
Also ich mach jetzt ein Number-Object draus, was ja die Basis für die Wrapper-Klassen wäre und danach wird es ein Long. Das muss ich mal probieren.

Von der Sache her ist es mir egal, was das für ein Wert ist. Hauptsache ich kann den irgendwie weiter verarbeiten, entweder rechnen oder für irgendeine Auswahl als Bedingung nutzen. Das ist eh erstmal ein Test zu Ausprobieren des Spinners.
Danke nochmal ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
K Swing JSpinner mit NULL AWT, Swing, JavaFX & SWT 3
V LookAndFeel JSpinner Hintergrund Farbe mit Nimbus LaF AWT, Swing, JavaFX & SWT 0
R Int aus JSpinner auslesen und Tabelle erstellen AWT, Swing, JavaFX & SWT 3
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
D JCheckbox und JSpinner in JTable AWT, Swing, JavaFX & SWT 9
M JSpinner, setValue AWT, Swing, JavaFX & SWT 7
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
J Swing JSpinner mit zusätzlichem Text? AWT, Swing, JavaFX & SWT 2
B JSpinner ChangeEvent erzwingen AWT, Swing, JavaFX & SWT 6
B JSpinner Textgröße anpassen AWT, Swing, JavaFX & SWT 2
B JSpinner welche Taste? AWT, Swing, JavaFX & SWT 5
B JSpinner Enter AWT, Swing, JavaFX & SWT 7
G JSpinner ohne Tausendertrennzeichen AWT, Swing, JavaFX & SWT 5
N Wertanzeige mittels JSpinner AWT, Swing, JavaFX & SWT 3
S JSpinner AWT, Swing, JavaFX & SWT 11
G Swing JSpinner nur mit Buttons ändern AWT, Swing, JavaFX & SWT 8
T JSpinner in JTable: Problem beim Auslesen, funktioniert erst beim Zellwechsel AWT, Swing, JavaFX & SWT 7
T Swing JSpinner in JTable AWT, Swing, JavaFX & SWT 9
C Größe von JSpinner fixieren AWT, Swing, JavaFX & SWT 4
J JSpinner + SpinnerNumberModel int auslesen AWT, Swing, JavaFX & SWT 2
C Zwei JSpinner mit dem gleichen Wert AWT, Swing, JavaFX & SWT 2
Eldorado Swing Popup-Menü mit Jspinner AWT, Swing, JavaFX & SWT 4
X Den Wert von JSpinner setzen ohne Event AWT, Swing, JavaFX & SWT 3
M JSpinner als TableCellEditor; buttons nur bei fokus sichtbar AWT, Swing, JavaFX & SWT 14
M JSpinner Font ändern AWT, Swing, JavaFX & SWT 4
Spin JSpinner AWT, Swing, JavaFX & SWT 10
T JSpinner, 3 JSpinner aber nur ein SpinnerDateModel AWT, Swing, JavaFX & SWT 7
S JSpinner der Floats anzeigt..? AWT, Swing, JavaFX & SWT 4
D Swing Eigene Komponente mit JSpinner AWT, Swing, JavaFX & SWT 4
elitebiber Swing JSpinner und die Zeit AWT, Swing, JavaFX & SWT 11
T JSpinner Problem AWT, Swing, JavaFX & SWT 6
G JSpinner umdrehen? AWT, Swing, JavaFX & SWT 2
G JSpinner und ChangeListener AWT, Swing, JavaFX & SWT 3
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
Tom299 JSpinner nur Zeitangabe AWT, Swing, JavaFX & SWT 13
G JSpinner Frage AWT, Swing, JavaFX & SWT 2
H JSpinner mit Kalenderwoche und Jahr AWT, Swing, JavaFX & SWT 6
M JSpinner in einer JTable? AWT, Swing, JavaFX & SWT 5
P Frage zu JSpinner AWT, Swing, JavaFX & SWT 3
B JTextFiled, JCheckBox, JSpinner Eigenschaften speichern AWT, Swing, JavaFX & SWT 2
R Konvertieren von Werten im JSpinner AWT, Swing, JavaFX & SWT 2
K JSpinner Werte verschwinden bei Panel Wechsel AWT, Swing, JavaFX & SWT 2
B JSpinner passt optisch nicht zu anderen Komponenten AWT, Swing, JavaFX & SWT 2
D JSpinner ohne Edit Möglichkeit AWT, Swing, JavaFX & SWT 5
J JSpinner mit zahlen AWT, Swing, JavaFX & SWT 10
P JSpinner Objekt anstatt Zahlen sollen man Namen auswählen AWT, Swing, JavaFX & SWT 2
L JSpinner + addRow() AWT, Swing, JavaFX & SWT 3
M .txt unter Verwendung von JSpinner in Textfeld schreiben AWT, Swing, JavaFX & SWT 4
N JDK1.4- Überladen d. Methoden getValue setValue von JSpinner AWT, Swing, JavaFX & SWT 2
S JSpinner: Editieren einschränken AWT, Swing, JavaFX & SWT 4
F JSpinner FocusListener AWT, Swing, JavaFX & SWT 2
W JSpinner: Button vertikal anordnen AWT, Swing, JavaFX & SWT 2
R JSpinner rotieren AWT, Swing, JavaFX & SWT 6
A JSpinner in Dialogbox integrieren? AWT, Swing, JavaFX & SWT 3
D JSPinner Größe verändern - setSize() funktioniert nicht AWT, Swing, JavaFX & SWT 7
javasdann JSpinner & KeyListener. AWT, Swing, JavaFX & SWT 8
G jspinner schrittweite in Abhängigkeit vom aktuellen Wert AWT, Swing, JavaFX & SWT 3
G JSpinner bringt bei anklicken eine CastException AWT, Swing, JavaFX & SWT 5
flashfactor Un mal ein Problem mit JSpinner AWT, Swing, JavaFX & SWT 7
I jSpinner.getValue() AWT, Swing, JavaFX & SWT 2
G JSpinner für Datumsanzeige AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben