【javaFX学习】(一) 建一个简单的界面
移至csdn更新:http://blog.csdn.net/qq_37837828/article/details/78732563
用过swing都知道有多蛋疼,界面有多丑。自从用了javaFX,腰也不酸了,腿也不疼了。
废话不多说,开撸!
工具: IntelliJ IDEA (其实我也习惯用eclipse,但是一样东西能流行起来自然有它的道理)
jdk : 1.8
先从最简单的开始,新建一个类,写一个main函数(简单的我想打自己)。
public class Main{
public static void main(String[] args) {
}
}
第一件事,继承application类以获得javaFX的所有功能。
import javafx.application.Application;
import javafx.stage.Stage; public class Main extends Application{
public static void main(String[] args) {
launch(args);//启动程序时,初始化javaFX设置
} @Override
public void start(Stage primaryStage) throws Exception { }
}
start()方法就按字面意思理解就好了,程序启动执行的方法,所以我们的初始化界面的方法都写在里面。
那界面都有哪些东西呢,最外面那个带 - □ x 的部分,在javaFX中叫stage。 所以,我们至少需要一个stage,才能看见界面。而上面可以看到,在start(String primaryStage)中,已经有了一个stage,如何让
stage显示呢,调用stage.show()方法;
后面尽量写注释,就不多bb了。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage; public class Main extends Application{
public static void main(String[] args) {
launch(args);//启动程序时,初始化javaFX设置
} @Override
public void start(Stage primaryStage) throws Exception { Button button = new Button("点击按钮"); StackPane layout = new StackPane();//布局 layout.getChildren().add(button);//将按钮添加入布局 Scene scene = new Scene(layout,300,300);//设置布局、大小 primaryStage.setScene(scene);//将场景添加到stage primaryStage.show();//显示stage
}
}

看图就很好理解了,控件添加到布局里面,布局添加到secen中,设置scene大小,scene添加到stage,显示stage。
下面给我们的按钮添加一个点击事件:实现EventHandler<ActionEvent>接口,重写hanle()方法,这里我为了方便就写在一个类里了,实际开发中最好分开,一个类只干一类事,一个方法只干一件事。
给按钮绑定事件:button.setOnAction(this);由于我这里是当前类继承的,所以这里写this就可以了。
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 Main extends Application implements EventHandler<ActionEvent>{
public static void main(String[] args) {
launch(args);//启动程序时,初始化javaFX设置
} @Override
public void start(Stage primaryStage) throws Exception { Button button = new Button("点击按钮");
//button.setOnAction(this::handle);
button.setOnAction(this);//绑定事件 StackPane layout = new StackPane();//容器 layout.getChildren().add(button);//将按钮添加入布局 Scene scene = new Scene(layout,300,300);//设置容器、大小 primaryStage.setScene(scene);//将场景添加到stage primaryStage.show();//显示stage
} @Override
public void handle(ActionEvent event) {
System.out.println("Click button !");
}
}

转载注明出处:http://www.cnblogs.com/lensener/p/7976953.html
【javaFX学习】(一) 建一个简单的界面的更多相关文章
- 用IntelliJ IDEA学习Spring--创建一个简单的项目
这段时间想学习一下Spring,其实之前学过Spring,只是有些忘记了.而且之前学的时候是适用eclipse学习的,现在好像对IntelliJ这个工具使用挺多的,现在就学习一下这个工具的用法,顺便复 ...
- JSP学习1---创建一个简单的jsp程序
一.新建一个“Dynamic Web Project”动态Web项目 1.1输入项目名称 Project1,在Dynamic Web module version(动态Web模块版本),选择3.0(注 ...
- Linux第三周学习总结——构造一个简单的Linux系统MenuOS
第三周学习总结--构造一个简单的Linux系统MenuOS 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...
- LINUX内核分析第三周学习总结——构造一个简单的Linux系统MenuOS
LINUX内核分析第三周学习总结——构造一个简单的Linux系统MenuOS 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163. ...
- pipelinewise 学习二 创建一个简单的pipeline
pipelinewise 提供了方便的创建简单pipeline的命令,可以简化pipeline 的创建,同时也可以帮我们学习 生成demo pipeline pipelinewise init --n ...
- django学习-11.开发一个简单的醉得意菜单和人均支付金额查询页面
1.前言 刚好最近跟技术部门的[产品人员+UI人员+测试人员],组成了一桌可以去公司楼下醉得意餐厅吃饭的小team. 所以为了实现这些主要点餐功能: 提高每天中午点餐效率,把点餐时间由20分钟优化为1 ...
- java学习之—实现一个简单的ArrayList
package thread1; /** * 实现一个简单的ArrayList * * @Title: uminton */ public class SimpleArrayList<T> ...
- 《Linux内核分析》第三周学习小结 构造一个简单的Linux系统OS
郝智宇 无转载 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第三周 构造一个简单的Linux系统Me ...
- micronaut 学习 二 创建一个简单的服务
micronaut 提供的cli 很方便,我们可以快速创建具有所需特性的应用,以下是一个简单的web server app 创建命令 mn create-app hello-world 效果 mn c ...
随机推荐
- Java实用知识记录 —— 截止到Java8
记录Java实用知识点,截止(包括)到Java8,只作概要的描述,不涉及到具体细节.变量:int.long的包装类支持无符号位操作,即其在内存中的位可以用来全部表示正数."_"可以 ...
- NodeJs之数据库异常处理
数据库异常 NodeJs版本:4.4.4 数据库链接错误 使用nodejs处理异常最麻烦不过,这里我抛开nodejs提供的domain和一些第三方库专门处理的东西.操作数据库是我们常用的功能.通过回调 ...
- shell脚本学习(一):shell脚本开发的基本规范和习惯
1.脚本第一行指定脚本解释器 #!/bin/bash 或 #!/bin/sh 2.脚本开头增加作者.脚本作用描述等信息 1 #!/bin/bash 2 #Author: iskylite 3 #Blo ...
- 初学者Web介绍一些前端开发中的基本概念用到的技术
Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术. ...
- Quartz.NET的使用(附源码)
简介 虽然Quartz.NET被园子里的大神们写烂了,自己还是整理了一篇,结尾会附上源码地址. Quartz.NET是一款功能齐全的开源作业调度框架,小至的应用程序,大到企业系统都可以适用.Quart ...
- [转]Java - 集合框架完全解析
数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵 ...
- Windows环境下Android Studio安装和使用教程
Windows环境下Android Studio安装和使用教程 来源: http://www.cnblogs.com/liuhongfeng/archive/2015/12/30/5084896.ht ...
- POJ2318 TOYS(叉积判断点与直线的关系+二分)
Calculate the number of toys that land in each bin of a partitioned toy box. Mom and dad have a prob ...
- shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/ ...
- AngularJS学习篇(十八)
AngularJS API AngularJS 全局 API 用于执行常见任务的 JavaScript 函数集合,如: 比较对象 迭代对象 转换对象 全局 API 函数使用 angular 对象进行访 ...