JSlider - Wert am Mouszeiger anzeigen lassen

Boy2melo

Mitglied
Hallo alle zusammen,

ich bin relativ neu in der Guiprogrammierung bei Java und hab so meine Vorstellung für die JSlider. Ich hätte gerne, dass der aktuelle Wert an der Mouse angezeigt wird, wenn man den Slider verschiebt. Ist das überhaupt möglich und wenn ja wie?

Vielen Dank für die Hilfe.
 
Du scheinst nicht nur neu in der GUI Programmierung zu sein. Auch beim posten hast du noch Wissenslücken :-( Doppelpostings sind a) ungern gesehen und b) bringen dich auch nicht weiter.
 
So auf die schnelle, entwickelt auf einem Null-Layout:

Java:
final JSlider slider	= new JSlider(0, 100);
		
		slider.setBounds(10, 10, 200, 20);
		
		final JLabel	label	= new JLabel("Wert: ");
		
		label.setBorder(LineBorder.createBlackLineBorder());
		label.setOpaque(true);
		label.setBackground(Color.orange);

		int maxSize	= label.getFontMetrics(label.getFont()).stringWidth("Wert: " + slider.getMaximum() + " ");
		
		label.setBounds(10, 20, maxSize, 20);
		label.setVisible(false);
		
		slider.addMouseMotionListener(new MouseAdapter()
		{
			@Override
			public void mouseDragged(MouseEvent e)
			{
				label.setLocation(e.getX(), slider.getY() + slider.getHeight() + 1);
				label.setText("Wert: " + slider.getValue());
				label.setVisible(true);
			};
		});
		slider.addMouseListener(new MouseAdapter()
		{
			@Override
			public void mouseReleased(MouseEvent e)
			{
				label.setVisible(false);
			}
		});

man könnte das bestimmt auch mit ToolTips versuchen, aber die wollten gerade bei mir nicht so wie ich wollte 😀

MFG

Tomate_Salat
 
Tut mir Leid, es sollte kein Doppelposting sein. Ich hab zuerst ins falsche Untermenü geposted und wollte es eigentlich löschen, aber das kann ich ja nicht, also hab ich es nochmal ins richtige Menü geposted.
 

Neue Themen


Zurück
Oben