장면과 버튼, 현장에있는 버튼, 무대 장면, 그리고 마지막으로 표시된 창을 만들고, 메인 무대 인 창을 만듭니다.
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
public class App14_1 extends Application{
public void start(Stage primaryStage)//定义主舞台为primaryStage的start()方法
{
Button bt=new Button("我是按钮");//创建命令按钮
Scene scene=new Scene(bt,210,80);//创建210*80的场景并将bt放入其中。
primaryStage.setTitle("我的JavaFX窗口");//设置窗口的标题
primaryStage.setScene(scene);//将场景scene放入主舞台中
primaryStage.show();//显示主舞台,舞台默认是不显示的,舞台对象必须调用自己的show()方法才能将窗口显示出来。
}
public static void main(String[] args) {
Application.launch(args);//启动独立的JavaFx程序,当有main()方法的时候,该方法必须在ain()方法中调用才会启动.当没有main()方法的时候,JVM将自动调用launch()方法以运行应用程序。
}
}
결과 :
각 주요 단계 및 2 단째의 명령 버튼을 배치하는 2 단계 만들기
import javafx.application.Application;
import javafx.stage.Stage;
import sun.applet.Main;
import javafx.scene.Scene;
import javafx.scene.control.Button;
public class HWHWHW extends Application{
@Override//强调必须覆盖下面这个父类中的方法。
public void start(Stage primaryStage)//定义主舞台为primaryStage的start()方法
{
Button bt=new Button("我是按钮");//创建命令按钮
Scene scene=new Scene(bt,210,80);//创建210*80的场景并将bt放入其中。
primaryStage.setTitle("我是主舞台");//设置窗口的标题
primaryStage.setScene(scene);//将场景scene放入主舞台中
primaryStage.show();//显示主舞台
Stage stage=new Stage();//创建一个新舞台stage
stage.setAlwaysOnTop(true);//设置stage为顶层窗口
stage.setTitle("我是第二舞台");
Button bt1=new Button("我也是按钮");
stage.setScene(new Scene(bt1,180,100));//这是将场景放入舞台的代码的优化
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
결과 :
스택 패널을 만들고, 두 개의 버튼이 그 위에 배치하고 버튼 스타일의 속성과 비주얼 스타일 패널 스택을 설정해야
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
public class App14_3 extends Application{
Button bt=new Button("确定");//创建命令按钮
@Override//强调必须覆盖下面这个父类中的方法。
public void start(Stage primaryStage)//定义主舞台为primaryStage的start()方法
{
StackPane sPane=new StackPane();//创建栈面板对象
bt.setStyle("-fx- border-color:blue");//设置按钮的边框颜色为蓝色
Button bt1=new Button("我也是按钮");
bt1.setPrefSize(80, 50);//设置按钮的优先大小,即自定义按钮的大小
bt1.setStyle("-fx-border-color:green");//设置bt1按钮的边框颜色为绿色
bt1.setRotate(-45);//将按钮逆时针旋转45度
sPane.getChildren().addAll(bt1,bt);//将按钮加入当栈面板中
sPane.setRotate(45);//设置将栈面板顺时针旋转45度
sPane.setStyle("-fx-border-color:red; -fx-background-color:lightgray");
Scene scene=new Scene(sPane,180,100);
primaryStage.setTitle("栈面板");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
결과 :
푸시 버튼을 누른 다음 장면의 흐름 패널에 추가되는 흐름 패널을 만들기
import java.awt.FlowLayout;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.StackPane;
import javafx.geometry.Orientation;
import javafx.geometry.Insets;
public class App14_3 extends Application{
Button[] bt=new Button[6];//创建按钮数组
@Override//强调必须覆盖下面这个父类中的方法。
public void start(Stage primaryStage)//定义主舞台为primaryStage的start()方法
{
FlowPane rootNode= new FlowPane();//创建流式面板对象
rootNode.setOrientation(Orientation.HORIZONTAL);//设置节点水平摆放
rootNode.setPadding(new Insets(12,13,14,15));//设置面板边缘四周内侧空白的距离,顶部为12,右部为13,下部为14,左部为15.
rootNode.setHgap(8);//设置面板上节点之间的水平间距为8像素
rootNode.setVgap(5);//设置面板上节点之间的垂直间距为5像素
for(int i=0;i<bt.length;i++)
{
bt[i]=new Button("按钮"+(i+1));
rootNode.getChildren().add(bt[i]);//将命令按钮bt[i]放入流式面板中
}
Scene scene=new Scene(rootNode,200,80);
primaryStage.setTitle("流式面板");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
결과 :