Sử dụng Scene Builder trong JavaFX | How Kteam

Dẫn nhập

JavaFX là một công nghệ phát triển giao diện máy tính trên nền tảng Java nhằm thay thế công nghệ cũ Java Swing, Java AWT với những cấu trúc và cách viết dễ sử dụng, thân thiện với lập trình viên nhiều hơn

Qua khoá học JavaFX Cơ bản, Kteam sẽ cung cấp những kiến thức lập trình cơ bản về thiết kế giao diện phần mềm, giúp các bạn có thể tạo ra những phần mềm phục vụ cho học tập và công việc.

Nội dung

Nội dung bao gồm Source code & các lưu ý chính về quá trình thực hiện phần mềm. Kteam khuyến khích bạn cập nhập thêm nhiều kinh nghiệm cũng như hiểu chi tiết hơn về các kỹ thuật được đề cập trong bài học thông qua các video đính kèm.

Kiến thức cần nắm để học serial này:

  • Java Cơ bản.
  • Java Hướng đối tượng.

Project tham khảo

Controller.java

package sample.Main8;

public class Controller {
}

Main8.java

package sample.Main8;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main8 extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 851, 640));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

sample.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>


<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="640.0" prefWidth="851.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <top>
      <MenuBar BorderPane.alignment="CENTER">
        <menus>
          <Menu mnemonicParsing="false" text="File">
            <items>
              <MenuItem mnemonicParsing="false" text="Close" />
            </items>
          </Menu>
          <Menu mnemonicParsing="false" text="Edit">
            <items>
              <MenuItem mnemonicParsing="false" text="Delete" />
            </items>
          </Menu>
          <Menu mnemonicParsing="false" text="Help">
            <items>
              <MenuItem mnemonicParsing="false" text="About" />
            </items>
          </Menu>
        </menus>
      </MenuBar>
   </top>
   <center>
      <TableView prefHeight="608.0" prefWidth="556.0" BorderPane.alignment="CENTER">
        <columns>
          <TableColumn prefWidth="75.0" text="C1" />
          <TableColumn prefWidth="75.0" text="C2" />
        </columns>
      </TableView>
   </center>
   <right>
      <VBox prefHeight="200.0" prefWidth="100.0" BorderPane.alignment="CENTER">
         <children>
            <GridPane>
              <columnConstraints>
                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
              </columnConstraints>
              <rowConstraints>
                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
              </rowConstraints>
               <children>
                  <Label text="Label" />
                  <Button mnemonicParsing="false" text="Button" GridPane.columnIndex="1" />
                  <Label text="Label" GridPane.rowIndex="1" />
                  <TextField GridPane.columnIndex="1" GridPane.rowIndex="1" />
               </children>
            </GridPane>
         </children>
      </VBox>
   </right>
   <left>
      <TreeView prefHeight="556.0" prefWidth="166.0" BorderPane.alignment="CENTER" />
   </left>
</BorderPane>

Tải Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới! 

Kết

Trong bài này, chúng ta đã tìm hiểu về Sử dụng Scene Builder trong JavaFX.

Ở bài sau, Kteam sẽ giới thiệu đến bạn về XỬ LÝ EVENT TRONG JAVAFX.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Và đừng quên “Luyện tập – Thử Thách – Không ngại khó

 

Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.