簡體   English   中英

在 Java 中設置游標

[英]Setting Cursor In Java

我一直在嘗試解決 Windows 光標。 我已經成功地將注冊表值與“鼠標屬性”對話框(通過控制面板訪問的那個)中各種光標類型的名稱相匹配。

例如,注冊表稱為“AppStarting”光標,鼠標屬性對話框稱為“后台工作”光標,等等。

我遇到麻煩的地方是使用 Java 來設置這些游標,因為對於其中的許多游標來說,似乎沒有一個常量。 在 Cursor.java 中定義了各種游標:

public static final int DEFAULT_CURSOR = 0;
public static final int CROSSHAIR_CURSOR = 1;
public static final int TEXT_CURSOR = 2;
public static final int WAIT_CURSOR = 3;
public static final int SW_RESIZE_CURSOR = 4;
public static final int SE_RESIZE_CURSOR = 5;
public static final int NW_RESIZE_CURSOR = 6;
public static final int NE_RESIZE_CURSOR = 7;
public static final int N_RESIZE_CURSOR = 8;
public static final int S_RESIZE_CURSOR = 9;
public static final int W_RESIZE_CURSOR = 10;
public static final int E_RESIZE_CURSOR = 11;
public static final int HAND_CURSOR = 12;
public static final int MOVE_CURSOR = 13;

但是,經過一些測試,有幾個注冊表值與它們都不對應。 例如,注冊表中的“App Starting”、“Help”、“No”、“NWPen”、“Person”、“Pin”和“UpArrow”條目沒有相應的定義(它們不僅僅是 13 之后的整數;當我使用 14 作為值時,我遇到了違規)。

更令人驚訝的是,注冊表“Hand”值實際上並不對應於 HAND_CURSOR 值。 為 HAND_CURSOR 定義設置新游標不會更改注冊表中存儲的“Hand”鍵值。

那么如何使用 Java 設置 AppStarting 游標值呢?

信息:Windows 10 64 位 jdk1.8.0_151

我在這里找到了一個答案,上面寫着:

Java 運行時環境要求自定義光標為 PNG 或 GIF 格式。 僅僅因為您在 Windows 系統上使用 Java 並不意味着您可以在 Swing/AWT 中為 GUI 使用該格式。

但是,我能夠在文檔中找到,所以也許您可以通過它的名稱來拉出您要查找的特定光標。 從該文檔:

返回與指定名稱匹配的特定於系統的自定義游標對象。 光標名稱是,例如:“Invalid.16x16”

編輯:第二部分不是用於從系統中提取,而是用於 JRE 中包含的游標。 看到這個問題

編輯 2:我發現這個包一個AppStarting 光標,可能適合你的需要......如果你包含這個包。 由於它是一個 Cursor 對象,因此它應該可以滿足您的目的。

編輯 3:可以在此處找到 eclipse.org 上有關 draw2d 的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM