- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以设置 XYChart.Series 的实例以作用于 setOnMouseEntered?在我看来,使其工作的一个先决条件是实现 EventTarget 接口(interface)。至于 JavaFX XYChart.Series,我想在光标触摸黄线时突出显示以下数据系列(XYChart.Series 的实例):
http://docs.oracle.com/javafx/2.0/charts/img/line-series.png
更准确地说,我想执行以下操作,但例如 XYChart.Series 而不是 Button:
public class Temp {
/*code removed*/
Button btn = new Button("Button to touch");
btn.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
System.out.println("Cursor just touched the button!");
}
});
/*code removed*/
}
最佳答案
Lookup适当的节点并向它们添加您想要的事件处理程序。
这是一个例子。
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.*;
import javafx.scene.chart.*;
import javafx.scene.effect.Glow;
import javafx.scene.input.MouseEvent;
import javafx.scene.shape.Path;
import javafx.stage.Stage;
public class LineChartSample extends Application {
@Override public void start(Stage stage) {
//create the chart
final NumberAxis xAxis = new NumberAxis();
final NumberAxis yAxis = new NumberAxis();
xAxis.setLabel("Number of Month");
final LineChart<Number, Number> lineChart = new LineChart<>(xAxis, yAxis);
lineChart.setTitle("Stock Monitoring, 2010");
XYChart.Series series = new XYChart.Series();
series.setName("My portfolio");
series.getData().addAll(new XYChart.Data(1, 23),new XYChart.Data(2, 14),new XYChart.Data(3, 15),new XYChart.Data(4, 24),new XYChart.Data(5, 34),new XYChart.Data(6, 36),new XYChart.Data(7, 22),new XYChart.Data(8, 45),new XYChart.Data(9, 43),new XYChart.Data(10, 17),new XYChart.Data(11, 29),new XYChart.Data(12, 25));
lineChart.getData().add(series);
// show the scene.
Scene scene = new Scene(lineChart, 800, 600);
stage.setScene(scene);
stage.show();
// make the first series in the chart glow when you mouse over it.
Node n = lineChart.lookup(".chart-series-line.series0");
if (n != null && n instanceof Path) {
final Path path = (Path) n;
final Glow glow = new Glow(.8);
path.setEffect(null);
path.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent e) {
path.setEffect(glow);
}
});
path.setOnMouseExited(new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent e) {
path.setEffect(null);
}
});
}
}
public static void main(String[] args) { launch(args); }
}
关于event-handling - JavaFX 2 XYChart.Series 和 setOnMouseEntered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10212147/
我正在尝试制作一个ListView,其中每个单元格都由一个标签和一个按钮组成。我想让按钮在鼠标飞过单元格时出现,并在鼠标飞出时消失。为此,我在 ListCell 对象上使用了 setOnMouseEn
在我的 JavaFX 项目中,我有一个 ModifiedTreeCell 类,它扩展了 TreeCell。在该类中,我有两个函数来监听鼠标是否进入或退出 TreeCell。然而,这些方法似乎非常不可靠
我编写了一个使用“鼠标输入”的代码,但我对方法没有执行任何操作。当鼠标进入我设置的操作的 Pane 时存在异常(exception)。 Exception in thread "JavaFX Appl
我在 JavaFx 上的 ImageViews 上遇到 setOnMouseEntered 问题。我正在尝试使用 ColorAdjust 更改放置在 Listview 中的 ImageView 的亮度
是否可以设置 XYChart.Series 的实例以作用于 setOnMouseEntered?在我看来,使其工作的一个先决条件是实现 EventTarget 接口(interface)。至于 Jav
我是一名优秀的程序员,十分优秀!