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中定义一个方法, 然后控制类中去实现这个方法,在该控件被点击时就会被触发。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • javafx实现五子棋游戏

    需求描述 一个五子棋游戏,能实现双方黑白对决,当一方获胜时给出提示信息,利用GUI界面实现 项目结构如下图 一.实体 FiveChess类 提供五子棋实体包含的所有信息 判断游戏是否结束 play方法改变chess[][]棋盘中的数据 package entity; import javafx.scene.control.Alert; public class FiveChess{ public double getWidth() { return width; } public void se

  • 如何基于JavaFX开发桌面程序

    基于JavaFX开发桌面程序 注:我也是JAVA FX的初学者之一,自己在学习的时候踩了许多的坑,中文英文的资料查了不少,但是觉得FX技术和其他热门技术相比,教程还是太少了.这里就尽量做一点微小的贡献吧 使用环境 注:写这个只是为了说明我的环境,使用和我的不一样的环境在理解这篇教程的时候并没有什么问题,例如使用Windows平台.使用Oracle JDK(这样就不需要再单独安装FX组件了,可以不用MAVEN).使用Oracle的SceneBuilder.可能唯一一个比较影响体验的就是不使用IDE

  • JavaFX之TableView的使用详解

    TableView,算是一个很重要的控件,几乎随处可见,而且功能强大,数据展示效果良好.所以,在JavaFX中,我们自然而然也应该学习一下TableView的使用. 下面我们先看看TableView的效果图: 每一列都是一个TableColumn,我们可以直接创建也可以在JavaFX Scene Builder中创建好. TableView的数据填充,需要一个ObservableList.其中需要一个类来做数据填充. 下面看看我们数据填充的类: 复制代码 代码如下: import javafx.

  • JavaFX 监听窗口关闭事件实例详解

    1.写在前面 在JavaFX的程序开发的时候,在使用多线程的时候,默认情况下在程序退出的时候,新开的线程依然在后台运行. 在这种情况下,可以监听窗口关闭事件,在里面关闭子线程. 2.具体实现的样例 package sample; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import java

  • Javafx实现国际象棋游戏

    本文实例为大家分享了Javafx实现国际象棋游戏的具体代码,供大家参考,具体内容如下 基本规则 棋子马设计"日"的移动方式 兵设计只能向前直走,每次只能走一格.但走第一步时,可以走一格或两格的移动方式 请为后设计横.直.斜都可以走,步数不受限制,但不能越子的移动方式. 车只能横向或者竖向行走 国王是在以自己为中心的九宫格内行走 骑士只能走对角线 项目目录结构 UML类图关系 以骑士为例 实现基本功能 吃子 不能越子 游戏结束提示 基本移动策略 背景音乐 效果 控制器 PressedAc

  • javafx tableview鼠标触发更新属性详解

    本文实例为大家分享了javafx tableview鼠标触发更新属性,供大家参考,具体内容如下 public class HoverCell extends TableCell<Person, String> { public HoverCell(StringProperty hoverProperty) { setOnMouseEntered(e -> hoverProperty.set(getItem())); setOnMouseExited(e -> hoverProper

  • 详解JavaFX桌面应用开发-Group(容器组)

    1:Group的功能 Group可以管理一组节点 Group可以对管理的节点进行增删改查的操作 Group可以管理节点的属性 1.2:看看JDKSE1.9的API Group类有下列可以调用的方法 2:Group的使用 代码如下: package application; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.

  • JavaFX Metro UI 和 开发库使用简介

    Metro UI For JavaFX! 这是一个Windows设计风格的UI库,使用非常简单,只要一行代码就可以实现整体UI风格的替换! new JMetro(JMetro.Style.LIGHT).applyTheme(scene);  例子 Switch Button 案例: 可以看到,非常的美观! 作者博客 : https://pixelduke.com/java-javafx-theme-jmetro 可以在他的博客中查看 Jmetro 项目的说明和使用方式. ConsrolsFX 这

  • JavaFx UI控件与代码间的绑定方法

    JavaFx初探一,UI控件的使用,具体内容如下 方式一:使用纯代码直接new view控件,这样就不涉及到与fxml文件之间的交互了 方式二:使用fxml编写界面文件,用可视化工具scene builder 来构建交互界面. 分两种方式绑定控件,可以用Android的方法在java中直接调用类似findviewbyId的方法,先在xml文件中设置fxid,然后根据id去找这个控件,代码如下 @Override public void start(Stage primaryStage) thro

  • iOS中各种UI控件属性设置示例代码

    //视图已经加载完了,可以进行ui的添加了 - (void)viewDidLoad { [superviewDidLoad]; // Do any additional setup after loading the view. //初始化UILabel注意指定该对象的位置及大小 UILabel *lb = [[UILabelalloc]initWithFrame:CGRectMake(0,20,300,200)]; //设置文字 lb.text =@"label测试我在学习中学些ui stor

  • Android UI控件之ListView实现圆角效果

    今天在Android群里面有人再求圆角ListView的实现方式,正好自己以前实现过.因此就共享了现在将其实现方式写在博客中共他人学习.给出实现方式之前顺带加点自己的想法,感觉上android中方形的ListView还是太"硬性",没有圆角的有亲和力.连Apple也为了"圆角"这个设计去申请专利. 看来圆角确实比较适合现在人们的喜好吧. 照老规矩先上两张效果图吧: 第一张: 第二张: 该方式主要就是需要重新去实现自己的ListView代码如下: package co

  • C#子线程更新UI控件的方法实例总结

    本文实例总结了C#子线程更新UI控件的方法,对于桌面应用程序设计的UI界面控制来说非常有实用价值.分享给大家供大家参考之用.具体分析如下: 一般在winform C/S程序中经常会在子线程中更新控件的情况,桌面程序UI线程是主线程,当试图从子线程直接修改控件属性时会出现"从不是创建控件的线程访问它"的异常提示. 跨线程更新UI控件的常用方法有两种: 1.使用控件自身的invoke/BeginInvoke方法 2.使用SynchronizationContext的Post/Send方法更

  • Android UI控件之Spinner下拉列表效果

    下拉列表---Spinner用于显示列表项,类似于一组单选按钮RadioButton.Spinner的使用,可以极大的提升用户的体验性.当需要用户选择的时候,可以提供一个下拉列表项给用户选择. 具体来说下拉列表是如何实现的呢? 通过查阅API知道Spinner继承AdapterView,因此它的数据源需要通过Adapter实现. 一般来说Spinner的数据源可以是数组,也可以是一个XML文件. 一.以数组作为数据源 这种实现方式比较简单,先上效果图: xml文件代码; <LinearLayou

  • vue-autoui自匹配webapi的UI控件的实现

    vue-autoui 是一款基于vue和element扩展的一个自动化UI控件,它主要提供两个控件封装分别是auto-form和auto-grid; 通过这两个控件可以完成大多数的信息输入和查询输出的需要.auto-form和auto-grid是通过json来描述展示的结构,在处理上要比写html标签来得方便简单, 但这控件的最大优势并不是在这里,它最重要的功能是可以结合webapi的信息来自动输出界面,只需要调整webapi的信息结构即可完成UI的调整. 基础使用 控件可以直接在vuejs功能

  • Android实现Neumorphism UI控件

    目录 效果图 第三方库支持 代码示例 引入第三方库 黑暗模式布局 明亮风格 文档说明(案例) 总结 效果图 第三方库支持 Github:https://github.com/fornewid/neumorphism 代码示例 将介绍第三方库引入和xml布局 引入第三方库 引入jitpack.io,添加到工程级build.gradle,若是Kotlin项目工程则在 settings.gradle 中引入 allprojects { repositories { maven { url "https

  • C#实现简单的loading提示控件实例代码

    自己画一个转圈圈的控件 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows

  • asp.net中使用自定义控件的方式实现一个分页控件的代码

    一.概述 在web开发中,常常需要显示一些数据,而为了方便排版及浏览,我们只需要显示所有记录中的一部分.一般情况下,我们采用分页来实现这个需求.实现分页的方法多种多样,在本文中,我们采用了一个分页空间来记录记录总数.当前页.总页数及页面大小等.为了有一个直观上的印象,先展示该控件运行后的效果,效果如下图所示: 二.实现方案 为了实现该效果图,在asp.net中,可以使用Custom Controls and User Controls两种方式,User Controls的实现方式及其简单,而且使

  • 设置jquery UI 控件的大小方法

    如下所示: #ui-datepicker-div { font-size: 12px; } 以上这篇设置jquery UI 控件的大小方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐