Hi, ich habe mir einen JSlider erstellt und wollte diesen anschließend mit einem neuen Skin belegen, sprich den Track und den Thumb ersetzten, klappt auch soweit, jedoch zieht der thumb schlieren wenn ich den slider bewege, vielleicht hat ja einer von euch ne Idee.
Hier ein Screenshot:imgur: the simple image sharer
Java:
public class test {
private static JFrame frame;
private static JSlider slider;
public static void main(String[] args) throws IOException {
frame = new JFrame();
slider = new JSlider();
slider.setUI(new MySliderUI(slider));
frame.add(slider);
frame.setVisible(true);
frame.pack();
frame.setSize(1200, 720);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private static class MySliderUI extends BasicSliderUI {
private BufferedImage imgTrack;
private BufferedImage imgThumb;
public MySliderUI(JSlider slider) throws IOException {
super(slider);
imgTrack = ImageIO.read(new File("icon/track.png"));
imgThumb = ImageIO.read(new File("icon/thumb.png"));
}
@Override
public void paintTrack(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Rectangle t = trackRect;
g2d.drawImage(imgTrack, t.x, t.y, t.width, t.height, null);
}
@Override
public void paintThumb(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_OFF);
Rectangle t = thumbRect;
g2d.drawImage(imgThumb, t.x, t.y, null);
}
}
Hier ein Screenshot:imgur: the simple image sharer