解析 FXML 表格的使用,图书列表功能的实现

java fxml教程_JavaFX 初学入门(一):FXML嵌套与原始控件继承 说明之前由于做一个小项目需要用swing,结果swing把我折腾的够呛。后来得知有javaFX这个类似于C#中WPF形式的利用XML来写界面的框架之后,马上就转到javaFX上了。找过一些资料但是帮助都不大,最后还是选择直接看官方demo。(我之前是做过android app,有些东西其实都是差不多的。)下面选取官方demo中的一个UnlockCustom 。这个demo中涉及到 继承原始控件(... 阅读详情

解析 FXML 表格的使用,图书列表功能的实现

1.基本操作

  • 安装

首先要配置FXML,安装JavaFX Scene Builder ,这里可以参考网上教程

  • 创建

FXML使用的基本步骤(基本)

  1. xxx.fxml文件
  2. xxxApplication文件
  3. xxxControll文件

扩展

  1. 可以建立css文件,在文件中写自己的css样式

2.使用方法

  • 第一步: 选中fxml文件右击选择Open In SceneBuilder ,即可打开视图页面,如图

  • 第二步骤

然后选择tableview 创建表格,在设计完表格之后,选择view中show sample controller skeleton 复制代码,粘贴到xxxControll文件中

  • xxxControll中展示的文件
public class userSelectControll {
    @FXML
    private TextField selectbook;
    @FXML
    private Button commit;
    @FXML
    private Button backbtn;
    @FXML
    private TableColumn<book, String > pressCol;
    @FXML
    private TableColumn<book, Integer> idCol;
    @FXML
    private TableColumn<book, String > authorCol;
    @FXML
    private TableColumn<book, String > nameCol;
    @FXML
    private TableView<book> myTable;
    @FXML
    private TableColumn<book, Integer> borrowCol;
    @FXML
    private TableColumn<book, Float> priceCol;
    @FXML
    void commitClick(ActionEvent event)  {
​
        String sb=selectbook.getText();
        System.out.println(sb);
        System.out.println("查找如下:");
        if (bookDao.selectAllStudent(sb).isEmpty()==false){
            ArrayList<book> list = bookDao.selectAllStudent(sb);
            idCol.setCellValueFactory(new PropertyValueFactory<>("bid"));
            nameCol.setCellValueFactory(new PropertyValueFactory<>("bname"));
            authorCol.setCellValueFactory(new PropertyValueFactory<>("author"));
            pressCol.setCellValueFactory(new PropertyValueFactory<>("publish"));
            priceCol.setCellValueFactory(new PropertyValueFactory<>("bprice"));
            borrowCol.setCellValueFactory(new PropertyValueFactory<>("isborrow"));
            myTable.getItems().clear();//清空表格里面所有数据
            myTable.getItems().addAll(list);
            userMenuApplication open1=new userMenuApplication();
            try {
            } catch (Exception e) {
                e.printStackTrace();
            }
        }else{
            Alert alert = new Alert(Alert.AlertType.INFORMATION, "未查找到此书!");
            alert.showAndWait();
            try {
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    @FXML
    void backbtnClick(ActionEvent event) throws Exception {
        userMenuApplication open = new userMenuApplication();
        open.start(new Stage());
        userSelectApplication.st.hide();//选择后开启一个新的窗体的同时,关闭当前窗体
    }
}
​
​

  • 解析表格的使用
  1. 在图二设计视图的使用,每个表格对应的id和fxid 都要设置,并且要一致,Contrller class 要选择自己创建的xxxcontrller

     

  1. 表格中:idCol.setCellValueFactory(new PropertyValueFactory<>("bid"));
  2. idCol 对应的是自己在图二设置的id,bid对应的是要展示数据库中的字段名称
  3. tableColumn中传入的泛型第一个是对象,第二个是数据类型,注意如果数据类型是int 要写成Integer 引用数据类型
@FXML
private TableColumn<book, Integer> borrowCol;

  1. 关联的是自己要打印在报个中的对象
@FXML
private TableView<book> myTable;

  1. 绑定的是图书表的字段名,通过这个方法,可以将获取到的数据库字段中的属性绑定到表格中
idCol.setCellValueFactory(new PropertyValueFactory<>("bid"));

  1. 展示表格,注意这里要先清空在展示表格信息,不然内容会重复,list是一个集合,存放图书对应的数据
myTable.getItems().clear();//清空表格里面所有数据
myTable.getItems().addAll(list);

  1. book 基础包的封装,返回的是book类型的集合

     

这样就可以通过fxml展示一个表格,结果:

JavaFX极简入门(利用FXML文件)到精通 背景: 下面我来介绍一下,如何用JavaFX在两周里(实际为一周)来写出一个界面美观,且大气的GUI。 首先要介绍一下JavaFX是个什么东东:刚刚接触Java的同学一定会知道Java的图形界面库Swing,或者AWT,他们当然都比较老了,或者说过时了,他们都没有做到界面与代码分离(会有好多的坐标位置什么的),所以写起来会麻烦,想要做的美观的话对于新手小白来讲真... 阅读详情

相关推荐

JavaFX:JavaFX加载 fxml 文件

示例如下:创建一个有 menuBar、menuItem 的窗体,在 fxml 中定义 menuItem 的 id 和 Action,在 ***Controller 中操作控件 menuItem 和 Action。fmxl 文件,其中 openItem 没有设置 onAction,closeItem 设置 onAction,注意之后的两种处理方式。

weiweiqiao的专栏 4545

什么是FXML(javaFX老技术学习)(转载)

原文地址:DOC-01-06 使用FXML进行用户界面设计 | JavaFX中文资料 使用FXML进行用户界面设计 7 七, 2015官方文档翻译javafxchinaPermalink 本教程展示了使用JavaFX FXML的好处,它基于XML语言并提供了将用户界面与程序逻辑代码分离的架构。 如果你是从头开始学习的本文档,那么你已经了解如何使用JavaFX来创建一个登录应用程序。在这一节,你将使用FXML来创建同样的登录用户界面,将程序的界面设计与业务逻辑分离,这样使得代码更便于维护。你在本...

zy103118的博客 9913

深入理解FXML:布局、控制器与业务逻辑集成

本文深入探讨了FXML在JavaFX应用程序中的应用,包括数据处理、语法细节、导入包、包含其他FXML文件、定义与引用资源、以及如何在FXML中嵌入业务逻辑。通过代码示例和实际应用,文章展示了FXML的灵活性和在构建用户界面时的便利性。

weixin_30299319的博客 494

JavaFx-桌面应用开发利器(三)FXML和Scene Builder

本文首先简单介绍了Fxml和Scene Builder的基本知识,同时以eclipse为例,通过代码的形式说明如何进行Fxml的开发,最后使用SceneBuilder进行​应用快速开发。同时说明在使用eclipse中可能会遇到的一些问题以及解决办法​。......

夜郎King的博客 1万+

Python | 集合(set)运算之intersection()

简介 在做力扣题的时候,有一个思路是要求解两个字符串的交集。 一般来说,求解交集的思路是遍历两个字符串,判断有无相等,有相等则添加到交集中,直到循环结束。 但是这样做,会增加很多的不必要的遍历:比如说,当一个字符串中有多个相同的元素时,该元素会被遍历多次。 因此,在求解时,我们可以先将字符串转换为set集合类型。集合中存储的元素没有顺序,且互异(即元素不可重复)。 算例 求字符串m“abcdaaa” 与 字符串n“bcddses”是否存在交集 首先将字符串转换为set类型: m = set(m) n

lovetaozibaby的博客 1万+

XianYuAutoDeliveryX:基于闲鱼API与大模型的智能自动发货系统实践

本文详细介绍了如何利用XianYuAutoDeliveryX系统,结合闲鱼API与大语言模型,构建一个智能自动发货解决方案。该系统能实现买家付款后秒级自动发货,并通过对接ChatGPT等大模型智能回复买家咨询,有效解放卖家时间,提升虚拟商品店铺的运营效率和客户体验。

bush的博客 1022

JavaFx基础学习【五】:FXML布局文件使用

FXML是一种在JavaFX应用程序中定义用户界面的,基于XML的声明性标记语言。FXML非常适用来静态布局,如表单、控件和表格。如果你还不是不明白FXML到底是什么,你可以类比HTML,我们可以通过HTML来做web页面的UI,同理,我们就可以使用FXML来做JavaFx应用程序的UI。1、fx:id,用于指定标签的id,通过该id,我们便能够找到该标签我是一个按钮

Staba的博客 2587

Cocos Creator 3D音频定位实战:从原理到沉浸感实现

3D音频定位是游戏开发中实现沉浸感的关键技术,其核心原理基于HRTF(头部相关传输函数)模型,模拟声音在空间中的传播与双耳感知差异。这项技术通过赋予声音空间坐标、距离衰减和方向属性,将音频从背景元素提升为可交互的环境线索,极大增强了虚拟世界的真实感与玩家的空间认知。在工程实践中,开发者需要深入理解声源、听者、衰减曲线与多普勒效应等基础概念,并合理运用音频池、优先级管理与动态混音等技术手段来平衡效果与性能。对于Cocos Creator开发者而言,无论是使用引擎原生的AudioSource组件构建轻量级方案,

weixin_30972263的博客 295

Javafx中fxml各按钮组件总结+用法(BorderPane,VBox,HBox,RadioButton,TitledPane如何使用)+JAVA文件的读写操作+JAVA大作业记事本程序解析

Javafx中各类组件,如:Button,BorderPane,VBox,HBox,RadioButton,TitledPane,TextArea是什么,如何使用?如何实现通过弹窗输入数据。Java中文件读写。JAVAfx的使用。实现可以输入多条信息的弹窗。

RuanFun的博客 8298

hpm6750evk2开发板(一)菜鸟入门

hpm6750与我们平时常用的stm单片机在开发环境和开发方法上有很大的区别,所以上手还是需要花一点时间的,拿到板子先不要急着上电调试,我们先找资料学习一下了,免得多走冤枉路,以下是我整理的一些学习资源,包括开发板使用手册、芯片SDK、开发工具、视频资料等,建议先把使用手册和学习视频先看了,再取搭建环境测试。最近刚入手一块hpm6750evk2开发板,花了几天时间学习,算是菜鸟入门了,今天分享一下学习过程。看完资料后,把开发工具安装上,下一篇文章我们分享一下调试工程的过程和遇到的问题。

Silas1750的博客 3088

筑基篇第9节:CUDA内存管理API进阶

CUDA多维内存管理与零拷贝技术 本文介绍了CUDA中高效处理多维数据的内存管理技术。对于二维数据,使用cudaMallocPitch可确保内存对齐访问,提升75%的带宽利用率;三维数据则通过cudaMalloc3D实现切片对齐。配套的cudaMemcpy2D/3D函数能高效处理数据拷贝。此外,零拷贝内存技术允许内核直接访问主机内存,避免显存拷贝开销。这些技术对图像处理、科学计算等应用至关重要,能显著提升多维数据处理的性能。

PeterPan的博客 83

FXML入门

----- Oracle中文开发者社区 ------如果你想要学习编程,关注本博客,持续获得技术支持,持续获得技术咨询。

Code Writers 1057

ChatGPT辅助课题申报书研究背景部分的写作全过程指南

ChatGPT辅助课题申报书研究背景部分的写作全过程指南

智能AI让学术科研更容易 2555

Java开发笔记(一百四十三)FXML布局的基本格式

前面介绍了JavaFX的常见控件用法,虽然JavaFX控件比起AWT与Swing要好用些,但是一样通过代码编写控件界面,并没有提高什么开发效率。要想浏览界面的展示效果,都必须运行测试程序才能观看,即使只是微调控件的大小,也得重新运行程序查看效果,显然既费时又费力。为此JavaFX提供了另一种给界面排版的方式,不必使用Java代码堆砌控件,而是利用FXML文件开展界面布局,同时借助于idea的预览功...

pinlantu的博客 2557

药物对接仿真软件:HADDOCK_(9).结果分析方法

HADDOCK是一种强大的药物对接仿真工具,通过对生成的输出文件进行详细的分析,我们可以验证仿真结果的可靠性,并为进一步优化药物设计提供依据。常见的分析方法包括解读输出文件、使用可视化工具进行结构分析、评估对接模型的稳定性和准确性等。通过这些步骤,我们可以更全面地了解受体和配体的结合模式,从而提高药物设计的成功率。

kkchenjj的博客 1009

ComfyUI 本地部署指南:概念、部署过程、生成图片、共享 WebUI 模型

ComfyUI 是一个基于节点的 Stable Diffusion 图形化用户界面。您可以通过将不同的节点连接在一起来构建生成图像的工作流程。一些常用的节点包括加载检查点模型(Load Checkpoint)、输入提示词(CLIP Text Encode)、指定采样器(KSampler)等。ComfyUI 将工作流程分解为可重新排列的元素,以便您可以轻松创建自己的元素。

水滴的博客 5034

javafx的fxml用法(以tableView为例)

FXML部分 <?xml version="1.0" encoding="UTF-8"?> <?import javafx.geometry.Insets?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <?import org.kordamp.ikonli.javafx.FontIcon?> <SplitPane stylesheets="@Work

weixin_40169387的博客 4046

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JavaFx—TableView控件的创建以及增删查改功能实现(MySql同步)

接着再fxml文件中创建一个AnchorPane布局,然后在Controls(控件)中找到TableView并将其拖到布局中,再找到TableColumn控件,对其设置好id名称后并将其拖到布局中的TableView中即可。接着在MasterController类中,我们需要声明控件(TableView和TableColumn),创建集合,编写lodaDate()方法用于初始化TableView,并将loadDate()方法添加到initialize()方法中。在User类中,我们需要按下图方式创建变量。

2201_75692232的博客 3521

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

FXML与SceneBuilder开发中TableView控件的使用

FXML与SceneBuilder进行界面开发中TableView的使用方法

qq_20833373的博客 6975

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JavaFX2.0基础教程 之 FXML入门教程

1        FXML入门教程 本部分教程包括两部分内容:   1、为什么使用FXML(基本介绍以及用FXML创建用户界面的好处);   2、使用FXML创建用户界面(通过创建简单登录应用来完成本教程部分)。 1.1 为何使用FXML FXML是基于XML的语言,它提供与应用逻辑代码分离的构建用户界面的结构。展现层和应用逻辑的分离对web开发者更有吸引力:因为他们可以利用java组件

轶枫的专栏 2万+

java fxml教程_Javafxml

FXML入门教程本部分教程包括两部分内容:为什么使用FXML(基本介绍以及用FXML创建用户界面的好处);使用FXML创建用户界面(通过创建简单登录应用来完成本教程部分)。1.1 为何使用FXML,对比于FX的优势原来的Javafx界面控制面板都写在同一个类里,代码比较杂揉。现在分为三部分.fxml配置文件: 面板装饰controller类 : 逻辑处理,按钮点击。主类: 用于启动应用.fxml配...

weixin_39716264的博客 2252

Java - JavaFx之fxml文件的编写及基本使用方式

1. fxml文件基本编写方式,加载和根据id获取组件 src/main/resources/main.fxml: <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?i...

OneFine的技术博客 9142

Java开发笔记(一百四十五)FXML布局的伸展适配

前面介绍了FXML的基本格式及其控制器的用法,算是打通了FXML方式的编码流程。程序界面通常保持固定尺寸,不过有时也允许用户拖曳窗口大小,不拖不打紧,一拖就可能坏事。像之前的登录窗口,没拖的时候界面如下图所示。 现在开始慢慢把窗口拖长,拖到一半停下来,此时登录界面如下图所示。 乍看过去,界面上的各控件大小保持不变,且始终居中显示,没发现什么问题。可是继续拖长窗口,突然之间这些控件乾坤大挪移,用...

pinlantu的博客 1988

(翻译)JavaFX高级教程:JavaFX2.0的FXML语言

下面开始构建用户界面。在导入语句后面插入下面代码Example 6<top></top><center></center>本例中,场景根是BorderPane布局类,定义了两快区域,顶部和中部。fx:controller属性定义了控制器文件,必须要声明在FXML根元素中。后面还会更多的了解控制器。xmlns:fx="http://javafx.com/fxml"属性将命名空间映射到命名空间也必须声明在FXML根元素中。该属性让你可以使用JavaFX API相关的FXML标签。

男神的专栏 1014

小白学 tableview分页

查阅了资料和代码,一直没有弄懂是怎么一个实现方法,今天总算实验成功了,做一次记录。 先使用JavaFX Scene Builder 2.0(FXML)创建一个界面。取名main.fxml <?xml version="1.0" encoding="UTF-8"?><?import javafx.scene.control.*?> <?import java.lang.*?> <?import j

xfssolsu的博客 1842
上一篇: 核爆!网易首席架构师十万字面试经验分享:java核心知识点精讲
下一篇: 模板、策略以及工厂模式
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值