Swing JSlider Tip Anzahl

Hallo zusammen,
ich habe eine Frage zu dem JSlider.
Ich erstelle einen JSlider mit einem Wert von 0 bis 10000.
Java:
slidergroeße.setMinimum(0);
slidergroeße.setMaximum(10000);
Desweiteren füge ich Abstände zu meinem Slider hinzu.
Java:
slidergroeße.setMajorTickSpacing(1000); // <== ??
slidergroeße.setSnapToTicks(true);
slidergroeße.setPaintTicks(true);
slidergroeße.setPaintTicks(true);
Hier ist das Problem.
Ich möchte nur eine bestimmte Anzahl an Tips haben, nämlich 5.
5 Tips mit 5 unterschiedlichen Werten. Nur diese 5 Tips sollen im Slider angezeigt werden.
Tip 1 : 0
Tip 2 : 10
Tip 3 : 100
Tip 4 : 1000
Tip 5 : 10000
Wie lässt sich dies realisieren ?
Mit Hashtable habe ich es bereits erfolglos versucht.
Vielleicht habt ihr eine Idee.

In diesem Sinne Vielen Dank im Voraus und einen schönen Restabend

-DjangoDieMango
 

Thallius

Top Contributor
So ganz verstehe ich das nicht.

Willst du letztendlich einen Slider bei dem du nur diese 5 werte auswählen kannst? Wenn ja, dann solltest du das anders lösen und einen Spider von 1-5 machen und einfach den Wert 10^Sliderwert verwenden

Gruß

Claus
 

Robat

Top Contributor
HashTable ist der Richtige Ansatz.

Mach dir am besten eine eigene (innere) Klasse, die von JSlider erbt. Dort kannst du dann eine HashMap mit deinen Werten angeben, diese mittels der Methode setLabels dem Slider übergeben.
Hier mal ein kleines Beispiel: (Hoffe es funktioniert so, wie du es willst :p )


Java:
public class SliderExample {

public static void createAndShowGUI()
    {
        JFrame frame = new JFrame("Slider");
        frame.setSize(500, 120);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        final SteppingSlider steppingSlider = new SteppingSlider();

    
        frame.getContentPane().setLayout(
                new BoxLayout(frame.getContentPane(),
                        BoxLayout.Y_AXIS)); 
        frame.getContentPane().add(steppingSlider);
        frame.setVisible(true);
    }

    public static void main(String[] args) throws Exception
    {
        createAndShowGUI();
    }

    public static class SteppingSlider extends JSlider
    {
        // Werte deines Sliders
        private static final Integer[] VALUES = { 0, 10, 100, 1000 };
        private static final Hashtable<Integer, JLabel> LABELS = new Hashtable<>();
       // Werte in die HashMap schreiben.
        static
        {
            for(int i = 0; i < VALUES.length; ++i)
            {
                LABELS.put(i, new JLabel(VALUES[i].toString()));
            }
        }

        public SteppingSlider()
        {
            super(0, VALUES.length - 1, 0);
            setLabelTable(LABELS);   
            setPaintTicks(true);
            setPaintLabels(true);
            setSnapToTicks(true);
            setMajorTickSpacing(1);
        }

         // je nach tick gibt die Methode den enstprechenden Wert zurück
        public int getDomainValue()
        {
            return VALUES[getValue()];
        }
    }
}

PS: Der eig. Key ist eig. die methode snapToTicks(true); Dadurch hat der user nicht die Möglichkeit, zwischen den Ticks hin und her zu springen sondern wird zu dem jeweiligen (am nähsten dran liegenden) Tick geforced.

Gruß
Robert
 
Hallo ihr beiden,
Vielen Dank für eure Hilfe!
Durch eure Denkanstöße habe ich einen Lösungsweg gefunden.

Für die Leute die ein ähnliches Problem haben, hier meine Lösung:
Java:
        sliderZahlengroeße.setMinimum(1);
        sliderZahlengroeße.setMaximum(5);
        sliderZahlengroeße.setMajorTickSpacing(1);
        sliderZahlengroeße.setSnapToTicks(true);
        sliderZahlengroeße.setPaintTicks(true);
        Hashtable<Integer, JLabel> table = new Hashtable<Integer, JLabel>();
        table.put(1, new JLabel("1er"));
        table.put(2, new JLabel("10er"));
        table.put(3, new JLabel("100er"));
        table.put(4, new JLabel("1000er"));
        table.put(5, new JLabel("10000er"));
        sliderZahlengroeße.setLabelTable(table);
        sliderZahlengroeße.setPaintLabels(true);

In diesem Sinne schönen Resttag
-DjangoDieMango
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Frage zum Schieberegler JSlider AWT, Swing, JavaFX & SWT 5
T Java: Zwei abhängige JSlider machen nicht das, was sie sollen AWT, Swing, JavaFX & SWT 4
J JSlider sichtbar AWT, Swing, JavaFX & SWT 7
J Swing JSlider - Form des Reglers AWT, Swing, JavaFX & SWT 6
J JSlider Color Ticks AWT, Swing, JavaFX & SWT 1
J JSlider - MajorTick AWT, Swing, JavaFX & SWT 0
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
A Swing JLabel/JTextField Inhalt mit JSlider verändern AWT, Swing, JavaFX & SWT 12
A Swing 2 JSlider verknüpfen und mit einem JTextField vergleichen, dann Ausgabe AWT, Swing, JavaFX & SWT 5
A Slider (JSlider?) AWT, Swing, JavaFX & SWT 7
D JSlider "laggt" nach überschreiben der paint methode AWT, Swing, JavaFX & SWT 2
A Swing JSlider erscheint doppelt AWT, Swing, JavaFX & SWT 2
K 2D-Grafik Kontrastanpassung über einen JSlider AWT, Swing, JavaFX & SWT 2
A Swing Bestimmte Werte anzeigen JSlider() AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
M JSlider-Wert ändern, ohne ein ChangeEvent auszulösen AWT, Swing, JavaFX & SWT 4
C Aussehen von JSlider ändern AWT, Swing, JavaFX & SWT 7
D Swing jSlider soll selber weiterwandern, je nach zeit der musik AWT, Swing, JavaFX & SWT 5
D JSlider und Textfeld AWT, Swing, JavaFX & SWT 2
C Swing Tickspacing in JSlider AWT, Swing, JavaFX & SWT 3
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
Y JSlider Wert auslesen (Kategorien) AWT, Swing, JavaFX & SWT 2
T jSlider-Value als Float in jLabel ausgeben AWT, Swing, JavaFX & SWT 2
O Swing JSlider mit doppelter Value AWT, Swing, JavaFX & SWT 6
F JSlider Design ändern AWT, Swing, JavaFX & SWT 6
D Swing JSlider AWT, Swing, JavaFX & SWT 11
B JSlider - Wert am Mouszeiger anzeigen lassen AWT, Swing, JavaFX & SWT 6
E JSlider synchron halten AWT, Swing, JavaFX & SWT 4
J Swing jSlider nur auf bestimmte werte beschränken AWT, Swing, JavaFX & SWT 15
X Audio Player: Fenster mit Play/Stop-Button erstellen, mit JSlider Lautstärke ändern AWT, Swing, JavaFX & SWT 6
R JSlider AWT, Swing, JavaFX & SWT 9
M Swing JSlider, Popup-Box AWT, Swing, JavaFX & SWT 3
J JSlider mit Double Werten AWT, Swing, JavaFX & SWT 5
J JSlider auf JTextPane? AWT, Swing, JavaFX & SWT 2
M Jslider Beschriftung AWT, Swing, JavaFX & SWT 6
R JLabel und JSlider dynamisch erzeugen? AWT, Swing, JavaFX & SWT 3
E jSlider und ChangeListener AWT, Swing, JavaFX & SWT 2
S JSlider Track Breite und Farbe AWT, Swing, JavaFX & SWT 2
T Swing JSlider und Adjustment-Listener wollen nicht so recht AWT, Swing, JavaFX & SWT 2
O JSlider - wie unterscheide ich mit Maus verändert und durch setValue verändert. AWT, Swing, JavaFX & SWT 16
T JSlider: ChangeListener löst dreimal aus? AWT, Swing, JavaFX & SWT 4
B JSlider in JCombobox AWT, Swing, JavaFX & SWT 9
J JSlider wird nicht neugezeichnet AWT, Swing, JavaFX & SWT 8
J Einen JSlider ähnlich wie in OO3 AWT, Swing, JavaFX & SWT 5
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
K Unterschiedliches Aussehen der JSlider? AWT, Swing, JavaFX & SWT 4
I Listener für einen JSlider AWT, Swing, JavaFX & SWT 1
G beschriftung von JSlider AWT, Swing, JavaFX & SWT 7
H JSlider mit 2 Werten AWT, Swing, JavaFX & SWT 7
L JSlider Beschriftung AWT, Swing, JavaFX & SWT 1
A JSlider umdrehen AWT, Swing, JavaFX & SWT 15
D JSlider und JMF player verbinden AWT, Swing, JavaFX & SWT 6
J JSlider regaiert unter Java 1.6 nicht mehr AWT, Swing, JavaFX & SWT 7
N JSlider: Kosmetik - snapToTicks AWT, Swing, JavaFX & SWT 3
T JComponents abändern/modifizieren z.b. JSlider AWT, Swing, JavaFX & SWT 2
N Nicht linearer JSlider! AWT, Swing, JavaFX & SWT 4
T JSlider getValue() erst nach dem Loslassen des Mauszeigers AWT, Swing, JavaFX & SWT 3
Z JSlider-Knob wenden AWT, Swing, JavaFX & SWT 8
L JSlider stumm geworden? AWT, Swing, JavaFX & SWT 2
I JSlider - klick ignorieren AWT, Swing, JavaFX & SWT 4
I JSlider-Schieberegler AWT, Swing, JavaFX & SWT 7
T JSlider Schiebereglerbild ändern AWT, Swing, JavaFX & SWT 4
U JSlider - Probleme bei der Darstellung AWT, Swing, JavaFX & SWT 3
H ChangeListener für JSlider AWT, Swing, JavaFX & SWT 6
P JSlider automatisch bewegen AWT, Swing, JavaFX & SWT 3
G JSlider AWT, Swing, JavaFX & SWT 2
H automatische Anzahl der Spalten ermitteln -> geht nicht AWT, Swing, JavaFX & SWT 6
G LayoutManager Beliebige Anzahl von Panels für LayoutManager AWT, Swing, JavaFX & SWT 3
H TableView mit variabler Anzahl Spalten AWT, Swing, JavaFX & SWT 2
Hijo2006 Anzahl der Excelzeilen AWT, Swing, JavaFX & SWT 1
L Swing Variable Anzahl an JButtons AWT, Swing, JavaFX & SWT 7
Kandum obj_JMenu.addMenuListener - variable Anzahl an JMenus / menulistenern & frame.setTitle() dynamisch AWT, Swing, JavaFX & SWT 7
K SWT DataBinding, Anzahl der Zeilen aktualisieren AWT, Swing, JavaFX & SWT 4
K AWT begrenzte anzahl paint aufrufe AWT, Swing, JavaFX & SWT 6
M Anzahl Frames in Taskleiste AWT, Swing, JavaFX & SWT 2
R Swing unbegrenzte Anzahl vonEinträgen in JList AWT, Swing, JavaFX & SWT 2
DEvent Swing JTextField Anzahl an sichtbaren Zeichen AWT, Swing, JavaFX & SWT 4
Y JTable mit großer Anzahl von Datensätzen AWT, Swing, JavaFX & SWT 3
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
T Anzahl Event Listeners AWT, Swing, JavaFX & SWT 4
O Anzahl der Zeilen im TableViewer AWT, Swing, JavaFX & SWT 12
G JList mit einer großen Anzahl an Einträgen AWT, Swing, JavaFX & SWT 15
Airwolf89 Swing Anzahl der Tabellenspalten dynamisch setzen AWT, Swing, JavaFX & SWT 2
T entsprechende Anzahl an jCheckboxen in einer jTable AWT, Swing, JavaFX & SWT 5
M Problem mit Festsetzen der Anzahl ein reihen in einer JTable AWT, Swing, JavaFX & SWT 11
M Komponenten einer unbestimmten Anzahl und MouseListener AWT, Swing, JavaFX & SWT 4
J jTextarea Anzahl Zeichen in einer Zeile begrenzen AWT, Swing, JavaFX & SWT 2
S JList gibt nach Sortierung mit Collections keine Anzahl mehr AWT, Swing, JavaFX & SWT 3
B random anzahl an jTextFieldern einfügen AWT, Swing, JavaFX & SWT 2
J Große Anzahl von Comboboxen in Tabelle darstellen AWT, Swing, JavaFX & SWT 2
G Tabelle mit variabler Anzahl an Zeilen AWT, Swing, JavaFX & SWT 3
M JList mit unbestimmter Anzahl Panels füllen AWT, Swing, JavaFX & SWT 4
X JTable --> Anzahl der Spalten ändern AWT, Swing, JavaFX & SWT 8
S Anzahl ActionEvents (Strings in eine ArrayList einfügen) AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben