我正在构建一个JavaFX
应用程序,并插入了一个TextArea
。
TextArea
分配了一个CSS
类(不知道是否重要):
.default-cursor{
-fx-background-color:#EEEEEE;
-fx-cursor:default;
}
关于这个TextArea
有两个问题
-fx-cursor:default;
没有任何效果,因为光标仍然是文本游标。这很奇怪,因为我对具有适当/预期结果的TextField
使用相同的类MOUSE_PRESSED
事件。
我的代码是: textArea.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("print message");
}
});
知道为什么吗?
我想指出的是,当我更改EventHandler
以处理MOUSE_CLICKED
时,一切都很好
发布于 2014-03-12 11:57:08
我怀疑TextArea上鼠标事件的默认处理程序在鼠标按下事件到达处理程序之前正在消耗它。
相反,安装一个EventFilter:
textArea.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("mouse pressed");
}
});
在默认处理程序看到事件之前,事件筛选器将被处理。
对于您的css问题,请尝试
.default-cursor .content {
-fx-cursor: default ;
}
https://stackoverflow.com/questions/22348152
复制相似问题