【发布时间】:2017-09-12 15:24:15
【问题描述】:
我在 rootpane 左侧有一个 vbox,在 rootpane 右侧有一个 vbox。 leftvobx 有 3 个 textarea 节点,rightvbox 有一个颜色选择器; 我想要:当我在leftvbox上选择一个textarea节点,然后点击rightvbox上的colorpicker时,当前的textarea不会失去焦点。
我的想法和“场景生成器”一样,当我们在工作区中选择一个笔记,然后处理右边的滑动功能区(比如改变颜色,设置大小和字体),笔记不会失去焦点,所以action 知道工作区中的哪个节点需要处理。
代码: VBox leftBox = new VBox(); VBox rightBox = new VBox();
leftBox.setPrefSize(200, 250);
rightBox.setPrefSize(200, 250);
leftBox.setStyle("-fx-background-color:blue");
Button btn1 = new Button("First");
Button btn2 = new Button("Second");
Button btn3 = new Button("Third");
ColorPicker colorpicker = new ColorPicker();
leftBox.getChildren().addAll(btn1,btn2,btn3);
rightBox.getChildren().add(colorpicker);
colorpicker.setOnAction(e->{
if(btn2.isFocused()){
btn2.setText("color changed.");
}
});
HBox root = new HBox();
root.getChildren().addAll(leftBox,rightBox);
Scene scene = new Scene(root, 400, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
【问题讨论】: