3
我正在製作一個簡單的圖形編輯器(即繪圖程序)。我沒有計劃任何幻想,但我確實希望我的程序在進入「畫圖」面板時將鼠標光標更改爲「+」或「O」。比如在Photoshop或GIMP中。 如何在Java AWT和/或Swing中更改光標圖像?
我該怎麼做?我無法在AWT/Swing線程中找到有關如何更改鼠標光標的任何內容。
我正在製作一個簡單的圖形編輯器(即繪圖程序)。我沒有計劃任何幻想,但我確實希望我的程序在進入「畫圖」面板時將鼠標光標更改爲「+」或「O」。比如在Photoshop或GIMP中。 如何在Java AWT和/或Swing中更改光標圖像?
我該怎麼做?我無法在AWT/Swing線程中找到有關如何更改鼠標光標的任何內容。
爲了防止有人想要比任何默認遊標更「奇特」的東西:可以創建自定義遊標(只要工具包支持它)就可以顯示任意自定義圖像。一個粗糙的(沒有閃亮的視覺效果)例子:
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");
+1。我得到了提示,但是....無論如何,尼斯答案。 – ApprenticeHacker
+1在你的問題stackoverflow問題 – oliholz
@oliholz大聲笑。 :-D – ApprenticeHacker
...問題! (有人不得不這樣說) –