gpt4 book ai didi

java - 当鼠标位于旋钮图像上时,如何将图像放在 jslider 的旋钮图像上

转载 作者:行者123 更新时间:2023-12-01 16:00:36 25 4
gpt4 key购买 nike

当鼠标位于旋钮图像上时,我需要将图像放在 jslider 的旋钮图像上。

我做过这样的事情:

  slider = new Slider();

s= new mySliderUI(slider ,"slider.png" );

slider.setUI(s);
slider.addMouseListener(new MyMouseAction());



public class MyMouseAction implements MouseListener{
public void mouseEntered(MouseEvent e) {
try {
s.knobImage = ImageIO.read(new File("slider_roll.png"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}

public void mouseExited(MouseEvent e) {
try {
s.knobImage = ImageIO.read( new File("slider.png"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}

}

private class mySliderUI extends BasicSliderUI {

Image knobImage;


public mySliderUI( JSlider aSlider, String fileName ) {

super( aSlider );

aSlider.setPaintTrack(false);
aSlider.setBorder(null);
try {
this.knobImage = ImageIO.read( new File(fileName) );

} catch ( IOException e ) {

e.printStackTrace();
}
}
public void paintThumb(Graphics g) {

g.drawImage( this.knobImage, thumbRect.x, thumbRect.y, 10, 15, null );

}

}

上面的代码不起作用。请告诉我该怎么做。

谢谢乔蒂

最佳答案

鉴于您似乎不接受答案,并且您尚未发布 SSCCE再说一遍,我不会花太多时间猜测你在做什么。

我唯一的建议是您需要在更改图像后使用slider.repaint()。另外,您不应该每次都阅读图像。图像应该被缓存。

关于java - 当鼠标位于旋钮图像上时,如何将图像放在 jslider 的旋钮图像上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4042527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com