java-FX笔记

基本:舞台(Stage)、场景(Scene)
    舞台和场景绑定布局中可以放多个控件以及布局
一、布局:Pane
    流式布局:FlowPane  一行排列填满自动转到下一行
    边框布局:BorderPane  分上中下左右五个区域,每个区域只能有一个节点
    网格布局:GridPane  分列和行 梳着是列横着是行 绑定控件和布局需要指定位置 位置从0开始
    水平布局:HBox  横着排列  填满自动换到下一行
    垂直布局:VBox      梳着排列
    分割面板(分割布局): SplitPane 与边框布局不同,这个布局的方向只能是水平的或者是垂直的,
                            可以放入多个控件或者布局,会为每个控件生成一个分割条,
                            我们可以通过拉动他来改变控件或者布局占据的空间大小
        分割面板设置
            分割面板中有多条分割线使用这个方法调整每根分割线的占比
            splitPane.setDividerPositions(0.06);   不懂就慢慢调整数字
            分割面板默认是水平分排列 需要改为垂直排列
            splitPane.setOrientation(Orientation.VERTICAL)

    标题面板(布局):TitledPane    面板具备对应的标题,可以用来放商品的名字,具备折叠功能,
                            可以让页面看上去不是那么拥挤,点开折叠则可以查看商品内容与操作
            设置面板大小
                titledPane.setPrefWidth(600-20);
            设置面板标题
                titledPane.setText("标题名");
            设置面板是否展开
                titledPane.setExpanded(false);
            设置面板是否可以折叠
                titledPane.setCollapsible(true);

    滚动面板(布局):ScrollPane  数据多了之后可以滑动 创建的时候将可能列数过多的布局丢在参数里

二、控件
    文本标签:Label  
    文本输入框:TextField      
        取值方法:
            String A = textField .getText();  //String接收
    密码输入框:PasswordField  
        取值方法:
            String mm = passwordField.getText();  //String接收
    按钮:Button  按钮点击事件setOnAction(a->{});
对于多选框和单选框,都可以通过 setSelected(boolean) 来设置选中状态,通过 isSelected() 来获取选中状态
    单选框:RadioButton
        性别单选框
        RadioButton r1 = new RadioButton("男");
        RadioButton r2 = new RadioButton("女");
        这样的单选框是无法实现单选功能的,只有当单选按钮在一组的时候才能完成单选功能
        ToggleGroup group = new ToggleGroup();//构建单选按钮组
        设置两个单选框在同一组
        r1.setToggleGroup(group);
        r2.setToggleGroup(group);
        默认选中男
        r1.setSelected(true);
            获取单选框的值
        String sex = "男";//设置性别默认为男
        if(r2.isSelected()) {
            sex = r2.getText();//如果选中女的单选框就赋值为女
        }

    多选框:CheckBox
        赋值:
            在创建对象时赋值 放参数里面
        获取多选框选中的值:
            需要用到字符串连接器:StringJoiner
            StringJoiner joiner = new StringJoiner(",");//",号分隔开"
            通过 isSelected() 来获取选中状态
        if(多选框对象名.isSelected()){
            joiner.add(多选框对象名.getText());//如果选中了就把值添加到字符串连接器,以此类推
        }
        将取到的值(用户多选的值)赋值给字符串
            String A = joiner.toString();            
        
    下拉框:ChoiceBox<类型>    
        给下拉框设置选项:Item
        choiceBox.getItems().addAll("湖南","湖北","河南","河北");//add(添加单个)、addAll(添加多个或集合)
        设置默认值:Value  只能设置已有的值
        choiceBox.setValue("湖南");
        获取下拉框选中的值:
            String A = choiceBox.getValue();//String接收
        下拉框可能存在多个属性数据只取其中某个数据通过转换器获取
            choiceBoxset.Converter(new StringConverter<数据类型>() {
            创建转换器要重写它的两个方法 我们只需要用到toString方法修改返回的值即可
            public String toString(数据类型 A) {
                return A.get要取的值();
            }
            public 数据类型 fromString(String string) {
                return null;
            }
        });

    滑动条:Slider
        给滑动条设置数据        
        v3.setMajorTickUnit(8);//刻度间隙为8 
        v3.setMinorTickCount(2);//每次滑动为2 
        v3.setShowTickMarks(true);//是否出现刻度 
        v3.setShowTickLabels(true);//是否出现数字
        获取滑动条的值:
            double A = slider.getValue();//小数或整数接收        

    文本域:TextArea
        给文本域设置大小
            textArea.setMaxSize(300, 150);
        获取文本域中的值:
            String A = textArea.getText();//String接收

    文件选择器:FileChooser
        定义文件后缀名过滤器
            ExtensionFilter filter = new ExtensionFilter("image",new String[] {"*.jpg","*.png"});
        File 文件
            FileChooser fc = new FileChooser();
        添加扩展名过滤器
            fc.getExtensionFilters().add(filter);
        打开一个文件选择器返回一个文件
            File file = fc.showOpenDialog(null);
            if(file==null) {//判断是否为空
                return;//为空中断代码
            }
            接收选择的文件的路径:
            //Absolute 绝对,Path 路径
            String path = file.getAbsolutePath();//String接收

    日期选择器:DatePicker
        时间createTime
        数据库只能添加java.sql.Date类型的时间
            LocalDate d = datePicker.getValue();
        将LocalDate时间变成jav.sql.Date时间
            Date createTime = new Date(//创建对象的同时把时间选择器的值转换成jav.sql.Date时间
                    d.getYear()-1900,
                    d.getMonthValue()-1,
                    d.getDayOfMonth()
                    );

    菜单按钮:MenuButton  菜单按钮可以绑定菜单项 从而实现下拉功能
        菜单栏
            MenuButton b1 = new MenuButton("商品管理");
            MenuButton b2 = new MenuButton("类别管理");    
        菜单 b1 的菜单项
            MenuItem t1 = new MenuItem("商品新增");
            MenuItem t2 = new MenuItem("商品删除");            
        菜单 b2 的菜单项
            MenuItem t3 = new MenuItem("类别新增");
            MenuItem t4 = new MenuItem("类别删除");
        将菜单与菜单项进行绑定
            b1.getItems().add(t1);
            b1.getItems().add(t2);
            b2.getItems().add(t3);
            b2.getItems().add(t4);
        
    工具栏:ToolBar  工具栏中可以直接放入组件 也就是说 Button , ChoiseBox 等控件都可以直接放
        创建工具栏 在参数里对菜单进行绑定
            ToolBar barCtl = new ToolBar(b1, b2);    
三、常用的一些方法
布局设置居中以及间隔方法
    设置居中方式
    gridPane.setAlignment(Pos.CENTER);
            设置居中方式
                布局名.setAlignment(Pos.CENTER);
                Pos 类中定义了一些居中方式
                TOP_LEFT 左上
                TOP_CENTER 居上
                TOP_RIGHT 右上
                CENTER_LEFT 居左
                CENTER 居中
                CENTER_RIGHT 居右
                BOTTOM_LEFT 左下
                BOTTOM_CENTER 居下
                BOTTOM_RIGHT 右下
    两个格子之间的水平距离
    gridPane.setHgap(10);
    两个各自之间的垂直距离
    gridPane.setVgap(10);
    
    界面添加图片:
        primaryStage.getIcons().add(new Image("file:图片地址\\图片名.类型"));
    控件添加图片:
        创建控件时在参数中添加:(new Image("file:图片地址\\图片名.类型"));

表格控件(表格视图) TableView:
        创建表格控件对象:
            这个地方一定要指定类型
            TableView<Student> table = new TableView<Student>();//<>里面为数据类型
    为表格设置列 TableColumn
        TableColumn<数据类型, 数据类型> c1 = new TableColumn("学生编号");//前面的数据类型为Student类,后面的为最后的数据对应的数据类型(String/Integer) 注意Student类也要为Integer类型
        TableColumn c2 = new TableColumn("学生名字");                    
        TableColumn c3 = new TableColumn("学生密码");
        TableColumn c4 = new TableColumn("学生性别");
        TableColumn c5 = new TableColumn("学生地址");
        TableColumn c6 = new TableColumn("学生爱好");
    将列绑定到表格控件中
        table.getColumns().addAll(c1, c2, c3, c4, c5, c6)
    绑定学生类对应的属性
        将学生的id属性绑定到第一列
        c1.setCellValueFactory(new PropertyValueFactory("id"));
        将学生的name属性绑定到第二列
        c2.setCellValueFactory(new PropertyValueFactory("name"));
        将学生的password属性绑定到第三列
        c3.setCellValueFactory(new PropertyValueFactory("password"));
        将学生的gender属性绑定到第四列
        c4.setCellValueFactory(new PropertyValueFactory("gender"));
        将学生的address属性绑定到第五列
        c5.setCellValueFactory(new PropertyValueFactory("address"));
        将学生的hobby属性绑定到第六列
        c6.setCellValueFactory(new PropertyValueFactory("hobby"));
    将数据库中的值放到表中
        创建集合接收数据中查询到的值
            List<Student> list = studao.all();//all方法要是有参的话记得给参数
        将查询到的集合方法表中:add()添加单个、addAll()添加多个或集合
            table.getItems().addAll(list);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值