2016-11-17 65 views
0

嘿,我正在一個小項目的目的是爲了加快我的學習,並進入一個問題,我有一個類實例arraylist與x,y位置和每個都被映射爲適合窗口內部,我想知道如何實現功能,讓用戶點擊一個節點(在屏幕上的橢圓,映射的x,y值來自類的實例)和我的程序以某種方式有一個切換來顯示在屏幕的另一部分該節點的信息,我已經看過了代碼示例和還沒有發現一個,我可以用我的塞納里奧在這裏得到的工作是我的課檢查節點(類的實例)是否點擊

class Ship{ 
    float yPos; 
    float xPos; 

    Ship(String line){ 
     String[] parts = line.split(","); 
     xPos = float(parts[4]); 
     yPos = float(parts[5]); 
    } 
} 

我從數據中提取數據csv文件和分裂它等, 我有很多的代碼,所以如果我的例子不是足夠,我會在需要時添加特定的部位,提前 感謝, 親切的問候, 安德魯

+0

你的代碼沒有顯示你的實現,現在只是數據集。請更詳細地提供您的實施。另外,我建議你將'float yPos'和'float xPos'設置爲'private' –

回答

0

您必須添加邏輯檢測是否鼠標在物體內部。

你究竟是如何做到這一點取決於你的對象是如何形成的。

  • 如果你的對象是一個圓,你可以簡單地使用dist()函數來檢查鼠標是否在圓內。

  • 如果您的對象是矩形,那麼您只需檢查光標位置是否在該矩形內。在一張紙上畫幾個例子來幫助解決這個問題。

  • 如果您的對象位於網格中,則可以將光標位置映射到網格位置。

  • 如果你的對象比較複雜,就像一個多邊形那麼你的邏輯必須更加複雜。 Google是你的朋友。

在任何情況下,你將不得不嘗試一些東西,放在一起的MCVE(注意:這不應該是你的整個草圖,它應該是一個小例子,我們可以複製並粘貼到運行我們自己)並提出更具體的問題。祝你好運。