[英]Java mouse cursor image not showing up, repaint error
我為我的視頻游戲創建了兩個光標:
// blank cursor image
BufferedImage cursorImg = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
blankCursor = toolkit.createCustomCursor(
cursorImg, new Point(0, 0), "blank cursor");
customCursor = toolkit.createCustomCursor(
MY_IMAGE, new Point(0,0) , "custom cursor");
我在啟動游戲時將鼠標光標設置為空白:
this.setCursor(blankCursor);
然后,在某些條件下,我想再次顯示我的光標:
this.setCursor(customCursor);
空白光標有效。 自定義光標永遠不會出現。 (請注意,我知道該行正在運行,因為我使用的是System.out.println
。我也知道光標圖標有效,因為如果我切換兩者,則customCursor
顯示而空白光標不會顯示)
所以問題是:為了顯示我的第二個光標圖標,我需要做什么重繪/刷新/重新驗證?
此外,我很確定游標沒有setVisible()
方法,但如果有不同的更好的解決方案也將受到歡迎。
不確定重新繪制或驗證對您的情況是否有幫助:光標可能是由系統繪制的並且有一定的限制。 在您的情況下,圖像可能無效並透明,這就是createCustomCursor所做的:
創建一個新的自定義光標對象。 如果要顯示的圖像無效,光標將被隱藏(完全透明) ,熱點將設置為 (0, 0)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.