Gibt es sowas (JSpinner)?

Diskutiere Gibt es sowas (JSpinner)? im Java Basics - Anfänger-Themen Bereich.
S

SystemExit

Gibt es sowas wie einen JSpinner aber für Strings? Also man zwischen Strings immer einen auswählen.
 
MoxxiManagarm

MoxxiManagarm

Ja, das geht. Ich empfehle dir grundsätzlich bei solchen Fragen immer erst in die Doku zu schauen, da findet man das relativ einfach ;-)

--> Dort siehst du, dass es einen Konstruktor mit SpinnerModel gibt
--> Dort siehst du, dass das Interface von verschiedenen Klassen implementiert wird, nur eins scheint logisch für deinen Fall
--> Hier siehst du nun wie du es zusammenbauen kannst

Demo:
Java:
public class StringSpinner extends JFrame {

    public StringSpinner() {
        setTitle("StringSpinner Demo");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        SpinnerListModel model = new SpinnerListModel(Arrays.asList("Anton", "Maria", "Max", "Susi"));
        JSpinner spinner = new JSpinner(model);

        add(spinner);

        pack();
    }

    public static void main(String... args) {
        new StringSpinner().setVisible(true);
    }
}
 
S

SystemExit

Ja, das geht. Ich empfehle dir grundsätzlich bei solchen Fragen immer erst in die Doku zu schauen, da findet man das relativ einfach ;-)

--> Dort siehst du, dass es einen Konstruktor mit SpinnerModel gibt
--> Dort siehst du, dass das Interface von verschiedenen Klassen implementiert wird, nur eins scheint logisch für deinen Fall
--> Hier siehst du nun wie du es zusammenbauen kannst

Demo:
Java:
public class StringSpinner extends JFrame {

    public StringSpinner() {
        setTitle("StringSpinner Demo");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      SpinnerListModel model = new SpinnerListModel(Arrays.asList("Anton", "Maria", "Max", "Susi"));
        JSpinner spinner = new JSpinner(model);

        add(spinner);

        pack();
    }

    public static void main(String... args) {
        new StringSpinner().setVisible(true);
    }
}
sollte hier nicht ein Fehler kommen? Muss man eine ArrayList nicht vorher deklarieren oder so
new ArrayList<>(Arrays.asList(array));

hier SpinnerListModel model = new SpinnerListModel(Arrays.asList("Anton", "Maria", "Max", "Susi"));


edit : bei mir kommt ein fehler ( not found
symbol: variable Arrays)
 
S

SystemExit

also nur wegen deinem beispiel. ich habe einfach einen array ersetllt
Nein, asList ist eine statische Methode der Klasse Arrays, die eben eine Liste zurückgibt.
private JSpinner jSpinner2 = new JSpinner();
String[] days = new String[] {"A","B","C"};
SpinnerListModel model = new SpinnerListModel(Arrays.asList(days));
jSpinner2.setModel(model);
cp.add(jSpinner2);

ich habe eine andere variante geschrieben
aber er zeigt mir immernoch ein Fehler
error: cannot find symbol
SpinnerListModel model = new SpinnerListModel(Arrays.asList(days));
^
symbol: variable Arrays
 
MoxxiManagarm

MoxxiManagarm

SpinnerListModel hat übrigens auch einen Konstruktor mit Array Parameter. Du brauchst Arrays.asList nicht, wenn du das days-Array schon hast. Doku ftw
 
Thema: 

Gibt es sowas (JSpinner)?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben