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,本人對此瞭解的不深,就不展開講述了。

加油!第十五章待更……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章