Slider (JSlider?)

A

altJ

Gast
Hallo,

ich möchte gerne einen Slider verwenden, bei dem oben am Slider der aktuelle Wert angezeigt wird. So wie hier:




ich habe schon folgendes versucht:
Den aktuellen Wert in einem JLabel anzeigen, und dann das JLabel am Slider anmachen. Hat aber nicht funktioniert.

Kriege ich das irgendwie mit einem Objekt der Klasse JSlider hin?

ich bin totaler Anfänger und bin darum für Hilfe sehr dankbar.

schönen Abend
altJ
 

TheChemist

Bekanntes Mitglied
Ich denke dein Ansatz mit dem JLabel ist nicht verkehrt. Du hast den Slider und lässt bei jeder Wertänderung den aktuellen Wert in ein JPanel schreiben. Was du mit "festmachen" genau meinst weii ich nicht.
Du kann aber beide Komponenten auf ein JPanel legen und sie darüber wie gewünscht anordnen.
 
A

altJ

Gast
Hallo Chemist,

das Anmachen habe ich einfach mit der add Methode probiert.

Java:
		Schieber = new JSlider(0,360,0);
		Schieber.setMajorTickSpacing(90);
		Schieber.setMinorTickSpacing(10);
		Schieber.setPaintTicks(true);
		Schieber.setPaintLabels(true);
		add(Schieber);
		
		Schieber.add(Textfeld);

hat aber nicht funktioniert.

mfG
altJ
 

TheChemist

Bekanntes Mitglied
Ich dachte eher an eine Anordnung wie

Java:
JLabel aktuellerWert = new JLabel("0");
JSlider slider = new JSlider(0,360,0);
slider....

JPanel sliderPanel = new JPanel(new GridLayout(1,2));
sliderPanel.add(aktuellerWert);
sliderPanel.add(slider);
 
A

altJ

Gast
Hallo Chemist,

vielen Dank für deine Antwort. Ich habs mal so hingekriegt, dass in einem Panel der Slider liegt und im anderen Panel die aktuellen Werte des Panels angezeigt werden.
Mein Hauptziel ist es aber, dass der Wert immer direkt am Slider (am beweglichen Teil) erscheint und sich mit dem Slider verschiebt.




Kann gibts dafür eine Möglichkeit?

Danke für die Antworten
altJ
 

TheChemist

Bekanntes Mitglied
Hallo,

ich denke das wird nicht so ohne weiteres möglich sein. Um deinen gewünschten Effekt zu erreichen musst du dir vermutlich eine eigene JComponent schreiben. Aber da bin ich mir nicht ganz sicher, vielleicht kann ja jemand anderes etwas dazu sagen.
 
I

IMartin

Gast
Nicht das Schönste, aber als Denkanstoß:
Java:
public class SliderTest {

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {

				JLabel label = new JLabel("0");
				JPanel labelPanel = new JPanel(null);
//				labelPanel.setBackground(Color.orange);
				labelPanel.setPreferredSize(label.getPreferredSize());
				labelPanel.add(label);
				
				final MySliderUI ui = new MySliderUI(label);
				JSlider slider = new JSlider(0, 360, 0);
				slider.addChangeListener(new ChangeListener() {
					
					@Override
					public void stateChanged(ChangeEvent e) {
						ui.calculateLabelBounds();
					}
				});
//				slider.setBackground(Color.yellow);
				slider.setUI(ui);
		        slider.setMajorTickSpacing(90);
		        slider.setMinorTickSpacing(10);
		        slider.setPaintTicks(true);
		        slider.setPaintLabels(true);
		        
				JPanel boxPanel = new JPanel();
				boxPanel.setLayout(new BoxLayout(boxPanel, BoxLayout.Y_AXIS));
				boxPanel.add(labelPanel);
				boxPanel.add(slider);
				
				JFrame frame = new JFrame();
				frame.setLayout(new FlowLayout());
				frame.setSize(400, 200);
				frame.setLocationRelativeTo(null);
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.add(boxPanel);
				frame.setVisible(true);
			}
		});
	}
	
	static class MySliderUI extends MetalSliderUI {
		
		private final JLabel label;
		
		MySliderUI(JLabel label) {
			super();
			this.label = label;
		}

		@Override
		protected void calculateThumbLocation() {
			super.calculateThumbLocation();
			calculateLabelBounds();
		}
		
		private void calculateLabelBounds() {
			label.setText(String.valueOf(slider.getValue()));
			Dimension labelDim = label.getPreferredSize();
			label.setBounds(thumbRect.x + (thumbRect.width - labelDim.width)/2, 0, labelDim.width, labelDim.height);
		}
		
	}

}
 
A

altJ

Gast
Hallo IMartin & Chemist,

vielen Dank für eure Antworten, schlussendlich war des Lösung ganz einfach Folgendes.

Java:
	    // den Native Look and Feel erzwingen
	    try {
	       UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
	    }
	    catch(Exception ex) {
	       System.err.println("Fehler bei LookandFeel\n"); 
	    }

Mit dem Native Look steht beim Slider automatisch der aktuelle Wert.

Viele Grüsse
altJ
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Swing Slider AWT, Swing, JavaFX & SWT 11
B Slider-Wert an anderen Slider übergeben AWT, Swing, JavaFX & SWT 5
S JavaFX Slider freezt nach Benutzung AWT, Swing, JavaFX & SWT 3
G JavaFX Slider in JavaFX beide Seiten beschriften AWT, Swing, JavaFX & SWT 2
S Swing Customised Slider AWT, Swing, JavaFX & SWT 2
J Slider Wert anzeigen AWT, Swing, JavaFX & SWT 15
C Slider für Zeitauswahl AWT, Swing, JavaFX & SWT 3
A Slider soll einen Wert übergeben AWT, Swing, JavaFX & SWT 1
P JavaFX Slider soll Value erst ab einer bestimmten Bedinung aendern AWT, Swing, JavaFX & SWT 19
L ComboBox: slider positionieren AWT, Swing, JavaFX & SWT 0
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
H org.eclipse.swt.widgets.Slider und negative Werte AWT, Swing, JavaFX & SWT 3
H SWT - DataBinding - observerMax für Slider AWT, Swing, JavaFX & SWT 1
G 2D-Slider bzw. eine graphische Auswahlkomponente die sich so verhält AWT, Swing, JavaFX & SWT 6
B runder Slider AWT, Swing, JavaFX & SWT 3
A Swing Slider-Value auslesen und weitergeben AWT, Swing, JavaFX & SWT 4
D Audio Player Progress Slider nicht flüssig AWT, Swing, JavaFX & SWT 2
Semox Swing Slider mit Value Auswertung wird nicht angezeigt AWT, Swing, JavaFX & SWT 11
O Verbesserungfrage zu einem MP3Player Slider - Ebenius kannst du helfen bitte ? AWT, Swing, JavaFX & SWT 10
G Slider, der naja schwer zu sagen. AWT, Swing, JavaFX & SWT 15
M slider soll keine zwischenwerte annehmen AWT, Swing, JavaFX & SWT 2
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
D Swing JSlider Tip Anzahl AWT, Swing, JavaFX & SWT 3
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
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

Ähnliche Java Themen

Neue Themen


Oben