JavaFx初入门:从hello world做起
来源:互联网 发布:网络软文兼职 编辑:程序博客网 时间:2024/05/22 02:30
按照现在搜索情况,网络上关于JavaFx的教程少的一比,而且大部分还他喵的是英文版的,我现在也是只能边学边写感悟。如果有不全错误的地方还请大家见谅。
首先是对JavaFX的介绍,javaFx是一个非常强大的图形和多媒体处理工具包集合, 同时能够跨平台使用。通俗点来说就是JavaFx就是用来写客户端的,并且和Java的特性一样,一次编译到处乱窜。这里使用的是jdk1,8版本的。
Javafx有两种写法:一种是使用fxml文件,将事件和对场景描述分开,好处明显的自然而然:将逻辑功能和界面分开,使程序更加的清晰,但是最后连接的时候容易出问题。今天写的是另外一种方法:将界面和事件写到一块,虽然看起来很麻烦,但是不容易出问题。只是写完之后的代码麻烦到连你自己都不愿意看。
这里的javafx主要是继承了application这个类,是以Stage作为基石,即有舞台的意思,所有的功能都会在这个舞台上展现出来。现在先拿一串最简单的代码进行分析。
package application.fx17823;import javafx.application.Application;import javafx.event.ActionEvent;import javafx.event.EventHandler;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.layout.StackPane;import javafx.stage.Stage;public class FxTest1 extends Application {@Overridepublic void start(Stage primaryStage) throws Exception {// TODO Auto-generated method stubButton button = new Button(); //创建按钮button.setText("Say'Hello World!!!'");//给按钮命名button.setOnAction(new EventHandler<ActionEvent>() { //给按钮连接事件 注意写法(重点)@Overridepublic void handle(ActionEvent event) {// TODO Auto-generated method stubSystem.out.println("我就不说hello world!");}});StackPane root = new StackPane();//堆栈面板布局 注意stackPaneroot.getChildren().add(button);//把按钮加在面板上
Scene scene = new Scene(root,300,250);//设定大小primaryStage.setTitle("你好");//设定展示的场景舞台
primaryStage.setScene(scene);//设定场景的大小primaryStage.show();//舞台展示}public static void main(String[] args){launch(args);}}
JavaFx应用程序主要继承的是application.Application类,其中所对应的Start方法是所有JavaFx程序的入口。
Java Fx的应用程序将UI容器定义为舞台(Stage)和场景(Scene),stage是JavaFx顶级的容器,scene是所有内容的容器。所以最后scene还得放在stage里
在JavaFX中,Scene中的内容会以由图形节点(Node)构成的分层场景图(Scene Graph)来展现。在本例中,root节点是一个StackPane对象,它是一个可以调整大小的layout节点。这就意味着在用户改变stage大小时,root节点可以随scene的大小变化而变化。
当JavaFX应用程序是通过JavaFX Packager工具打包时,main()方法就不是必需的的了,因为JavaFX Package工具会将JavaFX Launcher嵌入到JAR文件中。但是保留main()方法还是很有用的,这样你可以运行不带有JavaFX Launcher的JAR文件,例如在使用某些没有将JavaFX工具完全集成进去的IDE时。另外嵌入了JavaFX代码的Swing应用程序仍需要main()方法。意思就是在eclipse里还得把launch给写上用来运行,如果是一切都包装好了,就不用写了。
root节点包含一个带文本的按钮子节点,按钮上添加了一个事件处理器(Event Handler),它在点击按钮时会向控制台输出信息。
运转效果如下图所示:
- JavaFx初入门:从hello world做起
- JavaFx中文入门教程--从Hello World开始
- 制作Ubuntu的deb格式包 从Hello World做起
- Hello World, JavaFX Style
- JavaFX入门教程1——hello world
- SpringBoot初使用:从Hello World开始
- 从Hello World开始
- 从hello world开始
- 从hello world 开始
- 从hello world开始
- quartz 从入门到进阶 以及 hello world example
- 【入门精选】cocos2d-x从Hello World开始
- [C#从入门到放弃]程序生命起点--Hello World
- 从Hello World到Hello World
- Andorid入门Hello,World
- Dojo入门Hello World!
- Dojo入门Hello World!
- android入门--hello world
- Spring Cloud入门1-config配置中心
- 算法学习之模线性同余方程组(中国剩余定理+求解同余方程组) poj1006+hdu3579
- 服务器架构概念扫盲
- HDU 6129 Just do it(递推)
- Hibernate Part 3
- JavaFx初入门:从hello world做起
- MySQL 表结构查看以及表结构修改
- 提高博客浏览量
- 51Nod—1717 好数(思维)
- ie故障重置脚本:网络协议/主机文件/IE设置/Winsock
- 生成函数
- python 迭代器和解析
- C++用控制器函数实现格式化I/O范例
- 提高客户管理系统应用价值的五种方法