2011-12-13 119 views
3

我正在製作一個簡單的圖形編輯器(即繪圖程序)。我沒有計劃任何幻想,但我確實希望我的程序在進入「畫圖」面板時將鼠標光標更改爲「+」或「O」。比如在Photoshop或GIMP中。 Gimp Cursor如何在Java AWT和/或Swing中更改光標圖像?

我該怎麼做?我無法在AWT/Swing線程中找到有關如何更改鼠標光標的任何內容。

+2

+1在你的問題stackoverflow問題 – oliholz

+0

@oliholz大聲笑。 :-D – ApprenticeHacker

+0

...問題! (有人不得不這樣說) –

回答

7

爲了防止有人想要比任何默認遊標更「奇特」的東西:可以創建自定義遊標(只要工具包支持它)就可以顯示任意自定義圖像。一個粗糙的(沒有閃亮的視覺效果)例子:

Toolkit kit = Toolkit.getDefaultToolkit(); 
    Dimension dim = kit.getBestCursorSize(48, 48); 
    BufferedImage buffered = GraphicsUtilities.createCompatibleTranslucentImage(dim.width, dim.height); 
    Shape circle = new Ellipse2D.Float(0, 0, dim.width - 1, dim.height - 1); 
    Graphics2D g = buffered.createGraphics(); 
    g.setColor(Color.BLUE); 
    g.draw(circle); 
    g.setColor(Color.RED); 
    int centerX = (dim.width - 1) /2; 
    int centerY = (dim.height - 1)/2; 
    g.drawLine(centerX, 0, centerX, dim.height - 1); 
    g.drawLine(0, centerY, dim.height - 1, centerY); 
    g.dispose(); 
    Cursor cursor = kit.createCustomCursor(buffered, new Point(centerX, centerY), "myCursor"); 
+0

+1。我得到了提示,但是....無論如何,尼斯答案。 – ApprenticeHacker