Java基础自学笔记——第十四章:JavaFX基础

第十四章:JavaFx基础

历程:AWT——>Swing——>JavaFx
JavaFx可以无缝的在桌面或web浏览器中运行

一.基本结构

java.application.Application定义JavaFx程序的基本程序
launch()方法运行一个独立的JavaFx应用
main方法不是必须的
结构:
在这里插入图片描述
Java图形的尺寸单位都是用像素
setStoke:画笔颜色
setFill:填充颜色
在JavaFx中,面板左上角为(0,0)x轴从左向右递增,从上到下递增
在这里插入图片描述

二.属性绑定

属性绑定:如果源对象中的值改变了,目标对象的值也跟着改变

getCenterX();//值得获取方法,返回double类型的值
CenterXproperty();//属性的获取方法,返回DoubleProperty类型的对象
bind;//单项绑定
bindBidirectional;//双向绑定

三.节点的通用属性和方法

1.语法:styleName:value
多个样式可以一起设置,用分号分割

circle.setStyle("-fx-stroke:black;-fx-full:red");

rotate属性可以设置一个以度为单位的角度,让他围绕中心旋转该角度

如果角度大于0:顺时针,否则,逆时针

contains(double x,double y);//检测(x,y)是否在一个节点的边界之内

四.Color类

opacity : 0.0:完全透明   1.0:完全不透明
r,g,b:    0.0:最深色    1.0:最浅色

五.事件与事件源

成为处理器的条件:

  • 处理器必须是一个对应事件处理接口的实例
Action 必须继承自EventHandle<ActionExent> 且必须实现handle方法
  • 处理器必须通过源对象进行注册
ActionEvent->setOnAction()
MouseExent->setOnMouseEvent()

六.内部类

1.通常只有一个类只被外部类调用的时候,才叫内部类
一个内部类的特征

  • 内部类可以引用外部类中方的数据和方法
  • 一个内部类可以使用可见修饰符修饰,和应用于一个类中成员的可见性规则一样
  • 一个内部类可以定义为static,可根据外部类的名字访问,但不能访问外部类的非静态成员
  • 内部类通常是在外部类中创建的,但你也可以从另外一个类中创建一个内部类的实例,如果内部类是非静态的,你必须先创建一个外部类的实例
Outerclass.Innerclass innerObject=OuterObject.new Innerclass();
  • 如果内部类是静态的,你必须使用以下语法创建内部类实例:
Outerclass.Innerclass innerObject=new Outerclass.Innerclass();

2.生成的字节码文件

public class Test{
    
    
    private int d;
    public void m(){
    
    }
    public class A{
    
    
        d++;
    }
}//生成的字节码文件有两个,分别是Test.class 和 Test$A.class

3.内部类的优点:

  • 减少源文件的数量
  • 避免类名的冲突

七.匿名内部类

1.匿名内部类语法

new SuperClass/interface(){
    
    
}

匿名内部类的特征:

  • 总是继承父类或实现一个接口,不能有显式的extends或implements
  • 必须实现父类和接口中的抽象方法
  • 匿名内部类总是使用父类的无参构造来创建一个实例,如果一个匿名内部类实现一个接口,构造方法是Object();
  • 匿名内部类被编译为 Test.class和Test$n.class

八.使用lambda表达式简化事件处理

1.使用lambda表达式的条件:
只包含一个抽象方法的接口可以使用,这样的接口称为功能接口

btEnlarge.setOnAction(
    new EventHandler<AEvent>(){
    
    
        public void handle(Action Event e){
    
    
        }
     }
)
//上面代码可以简化为:
btEnlarge.setOnAction(e->{
    
    System.out.println("");})

九.动画基础

PathTransition;//按路线运动
FadeTransision;//按透明度运动
TimeLine;//按时间运动

这一章带大家基本了解了一下javaFx,本人对此了解的不深,就不展开讲述了。

加油!第十五章待更……

猜你喜欢

转载自blog.csdn.net/weixin_42563224/article/details/104543522