2012-03-30 42 views
0

我想知道鼠標點擊事件是否可以檢測到顏色或字符串。顏色檢測後發生事件

例如,我在屏幕上繪製了黃色填充的橢圓形,我希望如果鼠標單擊該顏色,它將導致發生特定事件。同樣,我可能在屏幕上有其他不同的圖紙,我希望不同的顏色發生不同的事件。

在Java圖形中可能嗎?

+0

爲了更好地幫助更快地編輯問題與[SSCCE](http://sscce.org/) – mKorbel 2012-03-30 07:35:24

+0

任何你可以在組件中做的事情(例如繪製顏色和形狀,或檢測點擊事件)可以放入一個小程序或一個框架,所以'小程序'變得不相關(也可以做到,但不需要)作爲選擇。我從文本和標籤中刪除了小程序。 – 2012-03-30 09:32:28

回答

1

你可以做到這一點的顏色;

  • click事件
  • 獲取屏幕座標得到屏幕的顏色在給定的座標
  • 然後做根據顏色你的工作

僞代碼:

public void mousePressed(MouseEvent e) 
{ 
    Robot robot = new Robot(); 
    Color clickedColor = robot.getPixelColor(e.getX(),e.getY()); 
    doSomething(clickedColor); 
} 

從圖像中檢測字符串是另一個主題。您需要在計算機視覺領域搜索「字符/文本識別」。有現成的圖書館這樣做。

0

Robot.getPixelColor(x, y)看看:

衆彩getPixelColor(INT X, int y)對

返回像素的在給定屏幕座標的顏色。

參數:X - X像素的位置

Ÿ - Y位置像素的

返回:像素