1、Stage和Scene分别是什麼?
答:一般我們輕按兩下一個exe然後等一會回彈出個視窗,是的,這個視窗整個就可以了解為一個Stage,也就是說Stage是一個視窗;視窗頂部一般都有固定的一行裡面左邊是視窗标題,右邊是最小化、最大化的關閉視窗按鈕,不要這一行,再不要視窗的邊框,剩下的區域就是Scene(場景),這兩個合起來就像電視機:Stage是電腦架構,Scene是電視螢幕。
個人了解,如有出入敬請諒解!
2、執行個體示範Stage常用屬性
實際使用中Stage的屬性用得較多,Scene幾乎就隻是當個容器,沒什麼機會表現,是以一般隻要關注Stage就OK.
package zkh.javafx.learn.stagescene;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import zkh.javafx.util.Constants;
/**
* Stage和Scene組合
*/
// 繼承javafx.application.Application是JavaFX的開始
public class StageScene extends Application {
/**
* Stage:就是你能看到的整個軟體界面(視窗)
* Scene:就是除了視窗最上面有最大、最小化及關閉按鈕那一行及視窗邊框外其它的區域(場景)
* 場景(Scene)是一個視窗(Stage)必不可少的
*/
@Override
public void start(Stage stage) throws Exception {
// 視窗的名字
stage.setTitle(Constants.TITLE);
// 視窗的圖示
stage.getIcons().add(new Image(Constants.IMG + "icon.png"));
// 視窗的寬度
stage.setWidth(800);
// 視窗的最小寬度
stage.setMinWidth(400);
// 視窗的高度
stage.setHeight(600);
// 視窗的最小高度
stage.setMinHeight(300);
// 設定寬高尺寸可調整,true:可以拖拽邊緣調整視窗尺寸,false:不可調整
stage.setResizable(true);
// 視窗最大化
stage.setMaximized(true);
// 定位橫縱坐标,避免太靠邊上遮蓋菜單欄,這兩行如果不屑
// 一般電腦預設是居中螢幕顯示,但在有些電腦會跑偏
stage.setX(0);
stage.setY(4);
// 1、初始化一個場景
Scene scene = new Scene(new Label(), 800, 600);
// 2、将場景放入視窗
stage.setScene(scene);
// 3、打開視窗
stage.show();
}
public static void main( String[] args ){
// 啟動軟體
Application.launch(args);
}
}
效果圖:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLzEleNJzZE5kMJpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyMjMzEzM1EjM4EzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
屬性就不單獨列舉了,在代碼中體會效果更好,注釋也都已經說的很清楚了,看一眼就能懂
3、源代碼(不推薦,文章基本都有了)
JavaFX+Jfoenix 學習筆記(二)--Stage和Scene源碼
好了,有什麼不懂看注釋,我相信我的注釋!