Swing jSlider nur auf bestimmte werte beschränken

Johnny919

Aktives Mitglied
Hey Leute,
hate mal ne frage und zwar ob es vllt schon was vordiffiniertes gibt das ich z.b. einen JSlider nur auf werte Spring wie 5,10,15,20,25 ....u.s.w
also das garnicht möglich ist sowas wie 12 auszuwählen !!!
schonmal danke für eure hilfe
 
entweder bin ich doof aber ich finde in dem was du gepostet hast nicht wie ich die auswallwerte in 5 schritte unterteilen kann nur wie ich da eine makierung ran mahen kann das hat aber nicht mit den slieder schritten zu tun oder ?!?!?
trotzdem danke für die bemühung
 
danke aber, .....

wenn ich das so machen:
Java:
jSlider1utilization = new JSlider();
					jPanel1update.add(jSlider1utilization);
					jSlider1utilization.setBounds(194, 290, 208, 16);
					jSlider1utilization.setMinimum(0);
					jSlider1utilization.setMaximum(100);
					jSlider1utilization.setValue(0);
					jSlider1utilization.setMinorTickSpacing(5);//<---- das ich nur 0,5,10,15 machen kann
geht das trotzdem das ich 12 oder 74 auswähle... wieso??
ok sorry dann war der post von oben doch richtig DANKE 😱
 
slider.setMinorTickSpacing( n );

ist doch nur dazu da um die striche an den slider zu machen das hat doch nix mit den auswahlwerten zu tun !!
 
Java:
jSlider.setSnapToTicks(true);
Versuchs mal, wenn du das noch zusätzlich aktivierst.
 
Das kann eigentlich nicht sein. Wenn ich diese beiden Methoden aufrufe, klappt es:
Java:
jSlider1.setMinorTickSpacing(5);
jSlider1.setSnapToTicks(true);
 
Naja ist dein Problem vllt das stateChanged? Klar, das wird dennoch jedes mal aufgerufen. Abhilfe würde da ein
Code:
slider.getValueIsAdjusting()
evtl. schaffen:

Java:
			@Override
			public void stateChanged(ChangeEvent e) {
				JSlider slider = (JSlider) e.getSource();
				if (!slider.getValueIsAdjusting())
					System.out.println(slider.getValue());
			}

zusätzlich zu dem oben angesprochenem [c]setSnapToTicks(true);[/c]
 
@VfL_Freak: Hatte ich auch erst gedacht, habe es aber dann ohne sichtbare "Sticks" versucht und er ist trotzdem zum nächsten möglichen Wert gesprungen.
 
Also bei mir klappt es auch ohne Probleme , änder mal den Wert 5 auf 20 oder größer damit du siehst das es wirklich funktioniert.
 
Also da das Thema als erledigt markiert ist gehe ich jetzt mal davon aus, dass es bei ihm auch geklappt hat. Wäre aber nett zu erfahren, woran es gelegen.
 
ups hab das zwar schon gepostet aber iwie wollte das nicht ;(

das lag daran das ihr euch nur auf die beschriftung nicht aber auf die werte bezogen habt ich wollte ja einen slider der von 0 bis 100 in 5 schritten geht
also habe ich einen slider genommen den min wert auf 0 gesegtzt und den max wert auf 20 da wen du 100 in 20 abschnitte teilst bekommst du 5 schritte
und dann wenn ich ein wert auslese aus dem slider mache ich * 5 wenn ich einen setzte mach ich / 5
hoffe ihr versteht was ich meine...
trotzdem danke für eure mühe bin erst durch euch iwie drauf gekommen obwohl das nix mit meiner lösung zu tun hatte ^^
 
ich wollte ja einen slider der von 0 bis 100 in 5 schritten geht
also habe ich einen slider genommen den min wert auf 0 gesegtzt und den max wert auf 20 da wen du 100 in 20 abschnitte teilst bekommst du 5 schritte
und dann wenn ich ein wert auslese aus dem slider mache ich * 5 wenn ich einen setzte mach ich / 5

hoffe ihr versteht was ich meine...

nö, jetzt hast Du mich richtig verwirrt .... :noe:

Du willst einen Slider von 0 bis 100 - nimmst aber einen von 0 bis 20 und multiplizierst dann jeden Wert mit 5 ???:L???:L :autsch:

Na ja, Hauptsache es funzt so, wie willst ..... 😀

Gruß
Klaus
 

Neue Themen


Zurück
Oben