javaFX基本使用

基本:舞台(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);
	
	界面添加图片:
		
//		 绝对路径
    Image input = new Image("file:G:\\美女.jpg",600,300,false,false); 
    
//    background-image 为元素设置背景图像。
    BackgroundImage backgroundimage = new BackgroundImage(input,  
                                     BackgroundRepeat.NO_REPEAT,  
                                     BackgroundRepeat.NO_REPEAT,  
                                     BackgroundPosition.DEFAULT,  
                                        BackgroundSize.DEFAULT); 
// 	放进去
    Background background = new Background(backgroundimage); 
	//把图片放布局里面
    borderPane.setBackground(background); 

	// 绑定布局和场景
	Scene scene = new Scene(borderPane, 600, 300);
	primaryStage.setScene(scene);// 显示舞台
	控件添加图片:
		创建控件时在参数中添加:(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);





javaFX 基本的使用   希望对您们有所帮助

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值