JavaFx Notes
2016-02-25 21:35
567 查看
源文章(国内不知道要不要用梯子)
Change sub fxml gui parts at runtime with Button Click
MainApp.java
Loads the MainView.fxml
MainView.fxml
<?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <BorderPane xmlns:fx="http://javafx.com/fxml"> <center> <Pane fx:id="content"/> <fx:include source="Content1.fxml"/> </center> <bottom> <fx:include source="TaskBar.fxml"/> </bottom> </BorderPane>
Content1.fxml
<?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <StackPane xmlns:fx="http://javafx.com/fxml" fx:id="content1"> <Label text="Hallo Java FX 2.1.1 Content1.fxml"/> </StackPane>
Content2.fxml
<?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <StackPane xmlns:fx="http://javafx.com/fxml" fx:id="content2"> <Label text="Hallo Java FX 2.1.1 Content2.fxml"/> </StackPane>
TaskBar.fxml
<?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <HBox xmlns:fx="http://javafx.com/fxml" spacing="10" alignment="center" fx:id="taskBar" fx:controller="TaskBarController"> <children> <Button fx:id="taskBarButton1" onAction="#handleTaskBarButton1Action"/> <Button fx:id="taskBarButton2" onAction="#handleTaskBarButton2Action"/> </children> </HBox>
TaskBarController.java
import java.net.URL; import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; public class TaskBarController implements Initializable { // Binding with the FXML @FXML private Button taskBarButton1; @FXML private Button taskBarButton2; @FXML private void handleTaskBarButton1Action(ActionEvent event) { System.out.println("click! taskBarButton1"); } @FXML private void handleTaskBarButton2Action(ActionEvent event) { System.out.println("click! taskBarButton2"); content.getChildren().clear(); content.getChildren().add(FXMLLoader.load(getClass().getResource("Content2.fxml")); } } @Override public void initialize(URL location, ResourceBundle resources) { // TODO Auto-generated method stub } }
Locate fxml file in other package
example
Parent root = FXMLLoader.load(getClass().getResource("/jfxtest2/Screen.fxml"));
相关文章推荐
- Java的命名习惯
- JDK5News
- [Exception JavaWeb 1] - javax.el.PropertyNotFoundException: Property 'id' not found on ..........
- Java8新特性--Interface中的default方法(接口默认方法)
- JAVA-计算器
- 【6-6】HBASE的Java接口(2)
- java map的四种遍历
- java知识结构树
- Java中播放声音实例
- Java中的泛型方法
- Java 中基本类型和字符串之间的转换
- Java 递归与非递归实现快速排序
- Mac OSX之java环境的搭建
- myeclipse中的classpath
- Rar Java Zip
- JAVA_多态性演示a____自动向上转型、向下转型、检查对象是否为某个类型(instanceof)
- JAVA_多态性演示a____自动向上转型、向下转型、检查对象是否为某个类型(instanceof)
- springmvc 传入controller乱码
- java线程(1)--概念基础
- Java并发-类库新组件 - CyclicBarrier 理解