0
我有一個代碼,它響應鼠標,例如當我進入圖像區域時,圖像變得更暗,當我退出它,它變得正常,問題是當我運行代碼時,我有9個圖像,當鼠標在第一個圖像上變黑時,當它轉到另一個圖像時,第一個圖像變暗,第二個圖像不變。刪除鼠標事件處理程序JavaFX
下面是代碼:
public class FrameController implements Initializable {
@FXML
private GridPane album;
ImageView im;
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
@FXML
private void mouseEntered(MouseEvent event) {
im = (ImageView) event.getSource();
System.out.println("Entered: " + im.getId());
im.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
ColorAdjust ca = new ColorAdjust();
ca.setBrightness(-0.5);
im.setEffect(ca);
}
});
}
@FXML
private void mouseExited(MouseEvent event) {
im = (ImageView) event.getSource();
System.out.println("Exited: " + im.getId());
im.setOnMouseExited(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
im.setEffect(null);
System.out.println("normal");
}
});
}
}
你是什麼想法?刪除鼠標處理程序意味着什麼? – NDY 2015-03-13 08:21:35
爲什麼不直接從fxml中刪除'mouseEntered'方法及其用法? – ItachiUchiha 2015-03-13 08:50:53
@NDY我認爲我的問題是愚蠢的,我糾正它 – Yashar 2015-03-13 09:20:47