我一直試圖創建的效果是,只要鼠標進入JPanel上的某個區域,鼠標光標圖標就會改變,並且在它離開區域時切換爲默認值。我在MouseMotionListener類中使用了MouseMoved功能,只要鼠標移動到JPanel上,就會驗證座標是否對應於特殊區域。如何在Java中高效跟蹤遊標位置?
但是,這種方法在計算機處理器上的壓力非常大,所以我想問一下是否有更高效的方法。任何幫助表示讚賞。
該程序的功能是在JPanel上繪製圖形,當連接按鈕被選中時,如果用戶點擊一個圖形,然後在另一個圖形上,則用線連接這些圖形。
這些圖形繪製在JPanel上,並且存儲了它們各自的區域邊界,因此當鼠標移動時它會檢查當前的X和Y座標是否位於其中一個區域內,如果是,則會更改光標。 checkValidConnectionRegion檢查當前的X和Y變量是否在數字區域內。以下是處理程序的代碼:
public void mouseMoved(MouseEvent e)
{
if(GUI.Connectionbutton.isSelected())
{
x = e.getX();
y = e.getY();
checkValidConnectionRegion();
if(validConnectionRegion)
setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
if(!validConnectionRegion)
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}
}
好吧,我將修改的問題和職位的代碼。 – Hans