package customsliderexample;

import javax.swing.*;
import javax.swing.plaf.metal.MetalSliderUI;
import java.awt.*;

public class CustomSliderExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Custom Slider Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Carica l'immagine del cursore
        ImageIcon customCursorIcon = new ImageIcon("../img/pome.png");

        // Crea uno JSlider
        JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);
     
        slider.setUI(new CustomSliderUI(customCursorIcon)); // Imposta l'UI personalizzata

        frame.add(slider);
        frame.pack();
        frame.setVisible(true);
    }
}

// Classe UI personalizzata per il cursore
class CustomSliderUI extends MetalSliderUI {
    private ImageIcon cursorIcon;

    public CustomSliderUI(ImageIcon cursorIcon) {
        this.cursorIcon = cursorIcon;
    }

    @Override
    public void paintThumb(Graphics g) {
        // Disegna l'icona del cursore personalizzato
        cursorIcon.paintIcon(slider, g, thumbRect.x, thumbRect.y);
    }
}
