JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。
JAVAFX案例
Fxml载入项目
public void start(Stage stage) throws Exception {
stage.setTitle("calculator");
Pane load = FXMLLoader.load(getClass().getResource("cal.fxml"));
Scene scene =new Scene(load);
stage.setScene(scene);
stage.show();
}
或
Parent load = FXMLLoader.load(getClass().getResource("src/brickcatalogue/viewpane/brickgame.fxml"));
Fxml添加事件
public class eventcc {
@FXML
public void onevent(Event event){
EventType<? extends Event> eventType = event.getEventType();
System.out.println(eventType);
}
}
从Fxml通过id引用控件
模拟简易计算器
calculator
public class calculator extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("calculator");
Pane load = FXMLLoader.load(getClass().getResource("cal.fxml"));
Scene scene =new Scene(load);
stage.setScene(scene);
stage.show();
}
}
cal.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="431.0" prefWidth="458.0"
xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="eventcc">
<children>
<AnchorPane layoutX="1.0" layoutY="-3.0" prefHeight="126.0" prefWidth="458.0" style="-fx-background-color: #cdcdcd;">
<children>
<Label fx:id="vid" layoutX="375.0" layoutY="39.0" prefHeight="15.0" prefWidth="55.0" text="0" />
<Label fx:id="result" layoutX="349.0" layoutY="68.0" text="0">
<font>
<Font size="34.0" />
</font>
</Label>
</children>
</AnchorPane>
<AnchorPane layoutX="5.0" layoutY="124.0" prefHeight="307.0" prefWidth="450.0">
<children>
<Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" text="/" onAction="#onevent"/>
<Button layoutX="14.0" layoutY="51.0" mnemonicParsing="false" text="Button" onAction="#onevent"/>
<Button layoutX="14.0" layoutY="89.0" mnemonicParsing="false" text="7" onAction="#onevent"/>
<Button layoutX="14.0" layoutY="130.0" mnemonicParsing="false" text="4" onAction="#onevent"/>
<Button layoutX="14.0" layoutY="166.0" mnemonicParsing="false" text="1" onAction="#onevent"/>
<Button layoutX="14.0" layoutY="210.0" mnemonicParsing="false" text="+/-" onAction="#onevent"/>
<Button layoutX="96.0" layoutY="14.0" mnemonicParsing="false" text="CE" onAction="#onevent"/>
<Button layoutX="96.0" layoutY="51.0" mnemonicParsing="false" text="Button" onAction="#onevent"/>
<Button layoutX="96.0" layoutY="89.0" mnemonicParsing="false" text="8" onAction="#onevent"/>
<Button layoutX="96.0" layoutY="130.0" mnemonicParsing="false" text="5" onAction="#onevent"/>
<Button layoutX="96.0" layoutY="166.0" mnemonicParsing="false" text="2" onAction="#onevent"/>
<Button layoutX="96.0" layoutY="210.0" mnemonicParsing="false" text="0" onAction="#onevent"/>
<Button layoutX="197.0" layoutY="14.0" mnemonicParsing="false" text="C" onAction="#onevent"/>
<Button layoutX="197.0" layoutY="51.0" mnemonicParsing="false" text="Button" onAction="#onevent"/>
<Button layoutX="197.0" layoutY="89.0" mnemonicParsing="false" text="9" onAction="#onevent"/>
<Button layoutX="197.0" layoutY="130.0" mnemonicParsing="false" text="6" onAction="#onevent"/>
<Button layoutX="197.0" layoutY="166.0" mnemonicParsing=&