JavaFX - Accordion(衔接TitledPane)
2021/6/16 22:21:00
本文主要是介绍JavaFX - Accordion(衔接TitledPane),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Accordion是与TitledPane一起使用,Accordion会将ttp组合起来如下图:,一个展开会将其余的缩进。还可以设置监听事件,监听打开的ttp。
下图ttp2设置了将展开按钮在右边。
package sample; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.NodeOrientation; import javafx.scene.Scene; import javafx.scene.control.Accordion; import javafx.scene.control.Button; import javafx.scene.control.TitledPane; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { AnchorPane ap = new AnchorPane(); Accordion acc = new Accordion(); ap.setStyle("-fx-background-color: darkkhaki"); TitledPane ttp1 = new TitledPane("TitledPane1", new Button("无动画折叠"));//点击收缩 ttp1.setExpanded(false);//默认不展开,点击之后展开 ttp1.setAnimated(false);//设置展开没有动画,默认有 TitledPane ttp2 = new TitledPane();//点击收缩 ttp2.setText("TTP2"); ttp2.setContent(new Button("TTP2")); ttp2.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);//把ttp2的显示的箭头改到右边,默认在左边 TitledPane ttp3 = new TitledPane();//点击收缩 ttp3.setText("TTP3"); HBox hBox = new HBox(); hBox.setStyle("-fx-background-color: darkslateblue"); hBox.getChildren().addAll(new Button("b3333"), new Button("b44444"), new Button("b5555")); ttp3.setContent(hBox); acc.getPanes().addAll(ttp1,ttp2,ttp3);//每次只能展开一个 ap.getChildren().addAll(acc); acc.expandedPaneProperty().addListener(new ChangeListener<TitledPane>() {//全部缩起来的时候会报空指针异常,得加上if @Override public void changed(ObservableValue<? extends TitledPane> observable, TitledPane oldValue, TitledPane newValue) { if(newValue == null){ System.out.println(oldValue.getText()+"折叠"); return; } System.out.println("看看是谁展开了"+newValue.getText()); } }); Scene scene = new Scene(ap); primaryStage.setScene(scene); primaryStage.setTitle("Java FX "); primaryStage.setWidth(800); primaryStage.setHeight(800); primaryStage.show(); } }
这篇关于JavaFX - Accordion(衔接TitledPane)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南