Pregunta

Tengo una pregunta sobre cómo hacer que un jslider apunte a la izquierda en lugar de la derecha. Pero, necesito que lo haga solo para un jslider. esta pregunta es muy similar, pero la respuesta a ella solo ayudó si querías que todos los JSliders señalan la forma equivocada.Aquí hay una imagen de Photoshopped de lo que quiero.

jliders

¿Fue útil?

Solución

Descubrí cómo hacerlo.Todo lo que tenía que hacer era hacer una nueva clase.

package Main;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;

import javax.swing.JSlider;

public class ReversedJSlider extends JSlider{
private static final long serialVersionUID = 1L;

    public ReversedJSlider() {
        super();
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
        AffineTransform tx = new AffineTransform();
        tx.translate(50, 0);
        tx.scale(-1, 1);
        tx.translate(-50, 0);
        g2d.setTransform(tx);
        super.paintComponent(g2d);
    }

}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top