本文主要是介绍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);}@Overridepublic 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@Overridepublic 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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!