자바 FX 학습 노트 (3) FXML 과 컨트롤 러 (자바 코드)

4182 단어 JavaFXRIA
FXML 마다 하나의 컨트롤 러 (자바 클래스) 만 있 고 페이지 의 각종 이벤트 에 응답 하 는 html 와 js 의 관계 와 같 습 니 다.
도입 컨트롤 러
JavaFX Scene Builder 디자인 보기에 서 보기 의 루트 노드 (보기 마다 하나의 루트 노드 만 있 음) 를 선택 하고 오른쪽 에 '코드' 속성 패 널 을 선택 하 십시오. 첫 번 째 속성 은 '컨트롤 러 클래스' 이 고 t1. T1Controller 와 같은 클래스 경 로 를 입력 하 십시오.
컨트롤 러 의 방법 사용 하기
보기 트 리 (계층 구조) 의 임의의 노드 를 선택 하고 오른쪽 패 널 에서 '코드' 속성 패 널 을 선택 하 십시오. 설정 할 수 있 는 이벤트 가 많 습 니 다. 그 값 은 컨트롤 러 의 방법 명 앞 에 \ # 를 추가 합 니 다.
다음은 컨트롤 러 코드 입 니 다.
package t1;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

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;

/**
 * 
 * @author root
 */
public class T1Controller implements Initializable {

	@FXML
	private Button btn1;
	@FXML
	private Button btn2;

	@FXML
	private void btn1Action(ActionEvent event) {
		System.out.println("You clicked btn1!");
	}

	@FXML
	private void btn2Action(ActionEvent event) {
		System.out.println("You clicked btn2!");
	}

	@Override
	public void initialize(URL url, ResourceBundle rb) {
		// TODO
	}
}

다음은 FXML 원본 파일 의 설정 입 니 다.
<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.web.*?>

<BorderPane id="BorderPane" prefHeight="459.0" prefWidth="600.0" 
stylesheets="T1.css" styleClass="bg" 
 xmlns:fx="http://javafx.com/fxml" fx:controller="t1.T1Controller"> <!--     -->
 <bottom>
    <HTMLEditor htmlText="<html><head></head><body contenteditable="true"></body></html>" minWidth="485.0" opacity="1.0" prefHeight="153.0" prefWidth="597.0" />
  </bottom>
  <center>
    <TextArea prefHeight="351.0" prefWidth="572.0" text="this is center this is center this is center 
this is center this is center this is center 
this is center this is center this is center 
this is center this is center this is center 
this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center this is center " wrapText="true" />
  </center>
  <left>
    <ListView prefHeight="379.0" prefWidth="116.0" />
  </left>
  <padding>
    <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
  </padding>
  <right>
    <TableView prefHeight="291.0" prefWidth="78.0">
      <columns>
        <TableColumn prefWidth="75.0" text="  X" />
      </columns>
    </TableView>
  </right>
  <top>
    <FlowPane prefHeight="25.0" prefWidth="601.0">
      <children>
        <!--    -->
        <Button fx:id="btn1" mnemonicParsing="false" onAction="#btn1Action" style="-fx-background-color:red;" text="Button1" />
        <Button fx:id="btn2" mnemonicParsing="false" onAction="#btn2Action" text="Button2" styleClass="bg2"  />
        <Line endX="100.0" startX="-100.0" />
      </children>
      <padding>
        <Insets bottom="3.0" left="5.0" right="5.0" top="3.0" />
      </padding>
    </FlowPane>
  </top>
</BorderPane>

좋은 웹페이지 즐겨찾기