JavaFx UI控件与代码间的绑定方法
作者:大大大超人 发布时间:2021-09-13 00:40:27
标签:JavaFx,UI,代码间
JavaFx初探一,UI控件的使用,具体内容如下
方式一:使用纯代码直接new view控件,这样就不涉及到与fxml文件之间的交互了
方式二:使用fxml编写界面文件,用可视化工具scene builder 来构建交互界面。
分两种方式绑定控件,可以用Android的方法在java中直接调用类似findviewbyId的方法,先在xml文件中设置fxid,然后根据id去找这个控件,代码如下
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
BorderPane borderPane = (BorderPane)root.lookup("#iiid");
TableView tableView = new TableView();
TableColumn columnName = new TableColumn("姓名");
TableColumn columClass = new TableColumn("班级");
TableColumn columNum = new TableColumn("学号");
tableView.getColumns().addAll(columnName, columClass, columNum);
borderPane.setCenter(tableView);
primaryStage.setTitle("应用测试");
primaryStage.setScene(new Scene(root,500,500));
primaryStage.show();
}
方式二
同样需要设置id,不过可以通过给每个控件设置一个控制器类的方式,去获取控件实例,在fxml文件中增加控制类的声明 fx:controller=”sample.Controller”
注意:只能在根部局容器中才能设置这个控制器,设置好后,鼠标选中id 快捷键alt+enter 即可在对应的控制类中生成控件的对象(好像是根据注解映射来的)
控制器类也可以设置为main类,不用单独新建一个类,根据情况定
<BorderPane fx:id="iiid" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity"
prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.121"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
<top>
<Button fx:id="button1" mnemonicParsing="false" text="按钮1" BorderPane.alignment="CENTER"/>
</top>
</BorderPane>
鼠标点击事件可以在 on action中定义一个方法, 然后控制类中去实现这个方法,在该控件被点击时就会被触发。
来源:https://blog.csdn.net/superman4933/article/details/81410858


猜你喜欢
- 关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过注解@PostConstruct 和 @
- 今天研究了一下scope的作用域。默认是单例模式,即scope="singleton"。另外scope还有prototy
- Result 类型是许多编程语言中处理错误的常用方式,包括 C# 的 dotNext 库。在本文中,我们将通过例子回顾 C# 中 using
- 前言对于多线程,大家应该很熟悉。但是,大家了解线程池吗?今天,我将带大家全部学习关于线程池的所有知识。目录1. 简介2. 工作原理2.1 核
- 带你手把手,用 java swing实现抖音上的表白程序1.准备工作a.需要下载一个带着swing插件的eclipseb.需要配置好JDKc
- 翻译自 Manju lata Yadav 2019年6月2日 的博文 《Difference Between Struct And Clas
- 一.服务器端获取Session对象依赖于客户端携带的Cookie中的JSESSIONID数据。如果用户把浏览器的隐私级别调到最高,这时浏览器
- 1.关于7z首先在这里先介绍一下7z压缩软件,7z是一种主流的 压缩格式,它拥有极高的压缩比。在计算机科学中,7z是一种可以使用多种压缩算法
- 下截JNative组件jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2解压JNati
- 左右滑动是智能手机最常用的动作,在此简单的封装了一下,以后直接拿来用就可以了。简单的只需要几行就可以了,下面那个类是封装好了的。packag
- 本文实例讲述了spring AOP的After增强实现方法。分享给大家供大家参考,具体如下:一 配置<?xml version=&qu
- ScrapySharp是一个帮助我们快速实现网页数据采集的库,它主要提供了如下两个功能从Url获取Html数据提供CSS选择器的方式解析Ht
- 前言Json反序列化有两种方式【本人】,一种是生成实体的,方便处理大量数据,复杂度稍高,一种是用匿名类写,方便读取数据,较为简单。使用了Ne
- 1. 前言Spring的核心技术IOC(Intorol of Converse控制反转)的实现途径是DI(dependency Insert
- 本文实例讲述了Java Swing组件文件选择器JFileChooser简单用法。分享给大家供大家参考,具体如下:先来看效果:说明:选择文件
- 因为在准备讲Maven用Maven Helper插件的时候,在网上学习,发现资料很少,我就把自己研究的配置分享给大家!!IDEA(本人用的2
- 分享一个小技巧:在日常开发中有时候需要切换到另外的一个分支,但在某些条件下当前的分支上存在一些文件尚未提交,这时候就需要使用到idea自带的
- 易于理解版package com.zhebie.ternary;public class ternary { public static v
- 题目:求1+2!+3!+...+20!的和程序分析:此程序只是把累加变成了累乘。程序设计:public class Ex21 {  
- Android多媒体 MediaPlayer我们可以通过这个API来播放音频和视频该类是Androd多媒体框架中的一个重要组件,通过该类,我