当前位置:   article > 正文

JavaFx之ScrollPane滚动板面、CheckBox复选框(二十四)_javafx scrolpane

javafx scrolpane

JavaFx之ScrollPane滚动板面、CheckBox复选框(二十四)

多个复选框时可能会超出屏幕,需要使用滚动版面。
布局方式:ScrollPane包括VBoxVBox 包括多个 CheckBox,效果如下:
在这里插入图片描述

import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.util.HashSet;
import java.util.List;


/**
 * @author lingkang
 * Created by 2022/4/17
 */
public class SelectGeneratorTable {
    HashSet<String> select = new HashSet();
    public SelectGeneratorTable(List<String> allTable,Button button) {
        Stage stage = new Stage();
        stage.setTitle("选择要生成的表");
        stage.setWidth(280);
        stage.setHeight(400);
        ScrollPane scrollPane = new ScrollPane();// 使用一个滚动板面
        VBox box = new VBox(); // 滚动板面里放行垂直布局, VBox里放多个复选框

        for (String t : allTable) {
            CheckBox cb = new CheckBox(t);
            // cb.setSelected(true);
            cb.selectedProperty().addListener(new ChangeListener<Boolean>() {
                public void changed(ObservableValue<? extends Boolean> ov,
                                    Boolean old_val, Boolean new_val) {
                    if (cb.isSelected()) {
                        select.add(t);
                    } else {
                        select.remove(t);
                    }
                }
            });
            box.getChildren().add(cb);
            box.setMargin(cb,new Insets(10,10,0,10));// 设置间距
        }
        box.getChildren().add(button);
        box.setMargin(button,new Insets(10,10,0,10));
        scrollPane.setContent(box);
        Scene scene = new Scene(scrollPane);
        stage.setScene(scene);
        stage.show();
    }

    public HashSet<String> getSelect() {
        return select;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

main

finalSql = getFinalSql();
List<String> allTable = finalSql.nativeSelect(getAllTableSql(), new ResultCallback<String>() {
   @Override
    public String callback(ResultSet result) throws SQLException {
        return result.getString(1);
    }
});
Button button = new Button("执行生成");
new SelectGeneratorTable(allTable, button);// 显示上面的场景
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/191718
推荐阅读
相关标签
  

闽ICP备14008679号