我只使用圖片,而我用來查看我的應用程序的窗口的尺寸在不同的系統上可能會有所不同。我有一個鼠標動作監聽器,它正在監聽我程序主視圖上的點擊。我有一個看起來像一個按鈕的圓角矩形。我想這樣做,鼠標動作偵聽器只能偵聽圓角矩形的區域,而不是所有系統上的整個圖像。就像標題所說的那樣,並不是整個圖像都有內容,尤其是角落看起來不像是圖像的一部分,所以我不想讓用戶無需點擊圖像的某些部分即可內容並獲得與單擊包含內容的部分相同的結果。 我的形象看起來類似於此image http://www.youthedesigner.com/wp-content/uploads/2011/02/gimp-tutorial-on-creating-buttons-421.png 所以我只想程序,如果用戶點擊圖像,而非按鈕周圍漂亮裏面的東西按鈕做一些事情。 這就是我現在所擁有的收聽點擊:如何讓點擊區域只是圖像非矩形部分的一部分?
@Override
public void mouseClicked(MouseEvent e) {
for(int i = 0; i <= 200; i++) {
if(e.getY() >= 100+i && e.getY() <= 300) {
if(e.getX() >= 10+100-Math.pow(10000-(Math.pow((i-100),2.0)),.5)) && e.getX() <= 10+400-Math.pow(10000-(Math.pow((i-100),2.0)),.5))) {
// do stuff
i = 201;
}
}
}
}
我用我的代碼數學公式看起來像110-(10000-(Y-100)^ 2)^(1/2) ),如果作圖的話,它看起來像一個左括號,並且看起來像離開第一個圖400個單位的右括號,並且是410+(10000-(y-100)^ 2)^(1/2)) 。
的代碼工作正常,我的系統上,但在其他系統上,它並沒有在所有的工作,我很好奇我怎麼會動,我聽到對應的圖像是如何縮放的位置。
非常感謝您的幫助,您可以提供。
爲了更好地提供幫助,請發佈[SSCCE](http://sscce.org/)。 –