进行javafx编程时,如何将sample.fxml文件中控件和事件程序自动添加到Controller.java中

作者&投稿:势逄 (若有异议请与网页底部的电邮联系)
如何把fxml文件和java代码编写的事件控制器相关联~

现在创建控制器来管理按钮事件。本例演示如何把FXML和Java代码编写的事件控制器相关联。



在Projects窗口,右击 Sample.java,选择 Refactor-- Rename .


输入FXMLExampleController后点击Refactor .


打开FXMLExampleController.java删除代码,用下面的代替 Example
9 .


Example 9
FXMLExampleController.java
package fxmlexample;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;

public class FXMLExampleController {
@FXML private Label buttonStatusText;

@FXML protected void handleSubmitButtonAction(ActionEvent event) {
buttonStatusText.setText("Submit button pressed");
}

@FXML protected void handlePasswordFieldAction(ActionEvent event) {
buttonStatusText.setText("Enter key pressed");
}
}
@FXML注解用来标识非公开控制器成员和方法。




作为Java的补充,也可以使用其他编译型语言如Scala来实现控制器。.

现在可以运行了。输入内容点击Submit试试。

想要完整代码,请下载 FXMLExample.zip .




使用脚本语言

除了使用Java创建控制器,可以使用任何提供JSR223-可编译脚本引擎的语言。比如 JavaScript,
Groovy, Jython, 还有Clojure.下面是用 JavaScript编码FXML的。



在fxml_example.fxml文件中,添加JavaScript声明到XML声明后。




在 Button标记中,改变方法名称
:

onAction="handleSubmitButtonAction(event);"


更新标记PasswordField :

onAction="handlePasswordFieldAction(event);"


移除fx:controller 从 BorderPane标记中,在
中添加js方法 ,见Example
10 .


Example 10 JavaScript in FXML


function handleSubmitButtonAction() {
buttonStatusText.setText("Calling the JavaScript");
}
function handlePasswordFieldAction(event) {
buttonStatusText.text = "More JavaScript";
}




当然也可以把js方法写进外部文件 (比如 fxml_example.js)然后像下面这样引用:



使用脚本编写FXML,调试时可能不会步入函数体。




使用样式表

使用内联样式,也可以添加样式表然后为结点设置关联。下面创建了样式表来定义网格布局和标签控件的样式。



创建样式表.



在Projects窗口,右击fxmlexample文件夹,选择New -- Other .


在 New File对话框中,选择Other -- Cascading Style Sheet , 然后 Next .


输入 fxmlstylesheet后点击Finish .


用下面的代码代替原来的代码 Example
11 .


Example 11 Contents of Style
Sheet
@charset "utf-8";
/*
Document : FXMLstylesheet.css
*/

.grid-pane {
-fx-padding: 80 0 0 0;
}

.label {
-fx-font: normal 36px Tahoma;
}




打开 FXMLExample.java,把样式表加入到下面代码前面 s tage.show() .scene.getStylesheets().add("fxmlexample/fxmlstylesheet.css");


打开 fxml_example.fxml添加样式类.



为元素添加导入语句。




用下面代码代替GridPane Example
12 .


Example 12 Style Class for Grid
Pane








用下面代码代替"Sign In" Label 。 Example
13 .


Example 13 Style class for
Label
<Label text="%signIn"
GridPane.columnIndex="0" GridPane.rowIndex="0">







使用
标签时,风格会应用到所有的类,除非它有自己的内联风格。所以Example
13 中的更改不仅应用到了 Sign
In标签,也赋予了Username 和Password标签。但不会应用到Login Example标签,因为它有自己的内联样式,覆盖了其他风格。

可以在“按钮点击事件”中写上读取fmxl为节点对象
Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml"));

然后把父节点放入某个new Scene(root,320,200);
然后在显示在所用的舞台stage上。

一,瘦客户端,富客户端简介
富客户端【RIA】开发可以有多种,主要的有 MS C# Silverlight, Adobe Flash/Flex,Oracle Java JavaFX,有些运行在浏览器中,有些运行在浏览器外;

瘦客户端主要是指 HMTL+JS+CSS 在浏览器中运行的系统。

二,JavaFX 环境搭建

目前很多游戏或系统还很多使用富客户端开发,这里介绍Java 的 JavaFX ,使用JavaFX开发,首先就是开发环境的搭建,JavaFX的搭建环境需要如下:

1,java JDK ,是运行java必备的环境,安装后还设置系统环境变量等,使用 J2SE 7+版,
2,Eclipse ,优秀的 Java 的集成开发环境,使用 V3.7.2 版本,
3,javaFX 插件 JavaFX Scene Builder 1.0,用来开发界面UI,即 .fxml 文件的生成,支持随见即所得的效果,
4,javaFX 插件下载后安装到Eclipse开发环境中,如何安装具体忘了,可以参考 JavaFX 工具安装和用法介绍 http://efxclipse.org/

三,开发步骤

安装了上面的软件之后,即可开发JavaFX项目了,步骤一般是:

1,在Eclipse中新建一个项目或 Maven项目;

2,使用插件工具开发建立 .fxml 文件,即程序UI界面;

3,编写界面对应的控制器Java类文件,类继承哪个控件类[可视具体情况定],实现哪个接口[可视具体情况定];

4,编写一个主类,用于启动程序,加载各种资源;

不过CSDN前端时间[2012.09]有报道将来瘦客户端才是王道,发展主流的主要趋势。


进行javafx编程时,如何将sample.fxml文件中控件和事件程序自动添加到...
1,java JDK ,是运行java必备的环境,安装后还设置系统环境变量等,使用 J2SE 7+版,2,Eclipse ,优秀的 Java 的集成开发环境,使用 V3.7.2 版本,3,javaFX 插件 JavaFX Scene Builder 1.0,用来开发界面UI,即 .fxml 文件的生成,支持随见即所得的效果,4,javaFX 插件下载后安装到Eclipse...

什么是JavaFX
在2007JavaOne会议上,Sun负责软件业务的执行副总裁格林公布了JavaFX Script:一种用于编写能够在支持Java的PC和手机上运行的应用软件的更简单的脚本语言。为了解决手机的兼容性问题JavaFX Mobile是一种面向手机厂商、提高Java应用软件在不同手机间兼容性的软件包。Java包含了一种计算机编程语言和一个平台。Java...

javafx编程如何启动另一个程序,比如说我可以通过点击一个button来打开QQ...
假设你的qq目录是在:E:\\Program Files (x86)\\Tencent\\QQ\\Bin,给button注册动作事件,如下:button.setOnAction(event -> { try { Runtime.getRuntime().exec("E:\\\\Program Files (x86)\\\\Tencent\\\\QQ\\\\Bin\\\\QQ.exe");} catch (IOException e) { e.printStackTrace();} });然后你点击bu...

JavaFX绑定探究
数据绑定连接一些对象并且使它们同步 尽管Swing的开发者们取决于额外的类库 但是绑定是完全融入了JavaFX Script编程语言 仔细看一看它运行的库显示了一个完全绑定构架 其基本概念与JGoodies Binding 和 Beans Binding很相似(在我以前的文章 Binding Beans 中有做过比较) JSR (Beans Binding)可能不会成为Java 的一部分 ...

JavaFX官方教程:RIA应用开发图书目录
第1章 - 入门:1.1 安装JavaFX平台1.2 针对JavaFX 1.2的NetBeans IDE设置1.3 命令行操作1.4 Eclipse集成1.5 章节小结 第2章 - 针对平面设计师的JavaFX知识:2.1 平面设计与JavaFX的融合2.2 JavaFX Production Suite工具2.3 Adobe Illustrator CS3的使用2.4 Adobe Photoshop CS3集成2.5 SVG...

Java语言程序设计—GUI(图形用户界面)
探索Java编程的瑰宝,GUI(图形用户界面)设计以其直观性和用户体验,成为了Java语言的重要组成部分。本文将深入解析AWT与Swing,以及新兴的JavaFX,带你领略GUI世界的魅力。从基础开始,AWT(Abstract Window Toolkit)是Sun公司提供的图形界面库,它为开发者提供了与操作系统交互的底层工具。其中,Menu...

使用JavaFX Mobile与UI的状况做斗争(一)
默认情况下 javafxpackager为浏览器或是Web Start部署创建了一套部署文件 为了创建移动部署的JAD和JAR文件 你必须也要在命令行需求中使用–p mobile选项 –p代表 profile 而且你可以再移动或是桌面选项上显示此开关 这里是整个的来自Test fx 文件(本例子中的位置在c:\\jfx 文件夹)的javafxpackager命令来创建一个mob...

JavaFX与Swing框架相比,有哪些特点?
oracle推出JavaFX本是想代替swing,awt成为新的java界面主流,但还是略显没落。就开发来说:javaFX确实比swing好看些,但没有swing的事件按钮等写法爽快,特别是使用eclipse的matisse开发视图,托拉拽的方式。可javaFX不只是有swing的优点还能支持多媒体,动画等。swing已经很久没有更新了吧,如果做GUI还是推荐...

JavaFX 推出移动版
开发人员可以通过普通的桌面和移动平台API创建拥有高保真声频和视频 多格式文本 向量化制图 动画和网络服务的RIA JavaFX移动版在Java ME技术上运行 可以使桌面和网络开发人员优化其程序 用于特殊的手机功能 据Sun的高级营销总监Param Singh说 我们提供编程模式的期望是过去开发工作中核心改变之一 Singh称 公司以...

java相关的技术有哪些?
11、javaFX Sun刚刚发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, staticallytyped(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX...

太康县13522828865: 如何将java fx css设置 text -
晨朱瑞立: CSS样式的引用方式有三种:一、行间样式表行间样式表是指将CSS样式编码写在HTML标签中,格式如下我的CSS样式.行间样式表由HTML元素的HTML元素的style支持,只需将CSS代码用分号隔开写在style=""之中.这是最基本的形式,...

太康县13522828865: eslips如何配置JavaFX -
晨朱瑞立: 推荐开发配置: Java8 + E(fx)clipse + Gluon Scene Builder 具体说明如下: 1. 选择合适的JDK进行开发: a: 比如版本太低没有JavaFX; b: 版本太高了也没有javaFX (Java11把 FX 开源了,成为了OpenJDK的一部分.) 我目前使用的是Java8 ...

太康县13522828865: 进行javafx编程时,如何将sample.fxml文件中控件和事件程序自动添加到Controller.java中 -
晨朱瑞立: 一,瘦客户端,富客户端简介 富客户端【RIA】开发可以有多种,主要的有 MS C# Silverlight, Adobe Flash/Flex,Oracle Java JavaFX,有些运行在浏览器中,有些运行在浏览器外;瘦客户端主要是指 HMTL+JS+CSS 在浏览器中运行的系统.二...

太康县13522828865: eclipse怎么运行javafx -
晨朱瑞立: 用e(fx)clipse吧,直接创建JavaFX Project就行了. eclipse.org/efxclipse/index 要么就是用官方的IDE netbeans 我就是用netbeans开发Javafx的,很方便.再下一个JavaFX Scene Builder做界面设计,搭配起来就可以做出很好的javaf

太康县13522828865: 如何在java中直接调用javaFX -
晨朱瑞立: 当我们完成了MyScene类后,可以开始写Java的主程序了,这是个标准的Swing程序中调用JavaFX代码如下: package swingtest; /** * JavaFXToSwingTest.java http://www.javafxblogs.com * @author Henry Zhang */ import java.awt.*; import javax....

太康县13522828865: 如何将JavaFX程序打包成exe -
晨朱瑞立: 一、使用javafxpackager javafxpackager是javafx提供的打包工具,好像从jdk1.7开始就包含这个工具了,它在 jdk 的 bin 目录下.第一步:新建两个文件夹 一个放入你想打包的jar,另一个用来存放打包生成的exe,注意所有目录、jar、exe名字都...

太康县13522828865: 如何在JavaFX的WebView中通过JavaScript回调Java的程序 -
晨朱瑞立: 在JavaFX的WebView中通过JavaScript回调Java的程序,可以通过JSObject.setMember的方法来实现.该方法可以通过JavaScript向上层访问Java代码,具体请看一下示例.Java代码先建立一个新的名为“app”的JavaScript对象.该对象哦呢...

太康县13522828865: javaFX如何在web应用程序中运行 -
晨朱瑞立: 1.javaFX也是像applet一样嵌入到页面中才能在web应用程序中运行,但是你需要先将自己的程序使用JavaFX脚本编译器将JavaFX脚本编译成Java Applet,然后发布到网页中2.用netbeans开发的话,就很方便了,在项目名上右键属性,选run,就可以看到浏览器、手机、web start等选项,你可以把你的程序任意发布了.

太康县13522828865: javafx scrollpane怎么用 -
晨朱瑞立: 可以在“按钮点击事件”中写上读取fmxl为节点对象 Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml")); 然后把父节点放入某个new Scene(root,320,200); 然后在显示在所用的舞台stage上.

太康县13522828865: 使用javafx技术开发一个计算器,在界面上能进行加减乘除 -
晨朱瑞立: javafx本质论 针对旧版的1.x, 已经被oracle宣布生命终结淘汰1.x独立在Java SE之外,用一种类似js的FXscript语言.为的是模仿flash 现在2.x版完全改进,废弃了FxScript,开发转用java语言.更重要的是javafx将用于逐渐取代swing和swt作为主要界面框架.可以说相当于windows的.net的WPF用于取代winforms

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网