JavaFX에서 콤보 박스에 메소드를 바인딩하는 방법은 무엇입니까?

r4tchet

내 .fxml에이 간단한 콤보 상자가 있습니다.

<ComboBox fx:id="comboShapes" prefWidth="150.0" value="Random">
    <items>
        <FXCollections fx:factory="observableArrayList">
            <String fx:value="Random" />
            <String fx:value="Small Exploder" />
            <String fx:value="Gospler Glider Run" />
            <String fx:id="comboGlider" fx:value="Glider" />
         </FXCollections>
   </items>
</ComboBox>

그리고 컨트롤러의 다른 선택 상자 문자열에 set 메서드를 바인딩하는 방법이 궁금합니다.

보석 바다
  1. 컨트롤러에서 onAction(ActionEvent event)콤보 상자에 대한 작업 처리기를 정의 하십시오.
  2. fxml을 컨트롤러 작업 처리기에 연결합니다 onAction="#choiceMade"(여기서 choiceMade는 작업 처리기 메서드에 대해 선택한 임의의 이름입니다).
  3. 작업 처리기에서 콤보 상자 값에 대한 스위치를 수행하여 선택한 값에 대해 적절한 메서드 처리기를 호출합니다.

그림

application / ComboAction.fxml

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

<?import java.lang.String?>
<?import javafx.collections.FXCollections?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.VBox?>

<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="104.0" prefWidth="226.0" spacing="10.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.ComboActionController">
   <children>
      <Label fx:id="choiceLabel" />
      <ComboBox fx:id="comboShapes" onAction="#choiceMade" prefWidth="150.0" value="Random">
         <items>
            <FXCollections fx:factory="observableArrayList">
               <String fx:value="Random" />
               <String fx:value="Small Exploder" />
               <String fx:value="Gospler Glider Run" />
               <String fx:value="Glider" />
            </FXCollections>
         </items>
      </ComboBox>
   </children>
   <padding>
      <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
   </padding>
</VBox>

application / ComboActionApp.java

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

public class ComboActionApp extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("ComboAction.fxml"));
        Parent root = loader.load();
        stage.setScene(new Scene(root));
        stage.show();
    }

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

application / ComboActionController.java

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;

public class ComboActionController {

    @FXML
    private ComboBox<String> comboShapes;

    @FXML
    private Label choiceLabel;

    @FXML
    void choiceMade(ActionEvent event) {
        String choice = comboShapes.getValue();

        choiceLabel.setText(
                "Chosen: " + choice
        );

        switch (choice) {
            case "Random":
                randomChosen();
                break;

            case "Small Exploder":
                smallExploderChosen();
                break;

            case "Gospler Glider Run":
                gliderChosen();
                break;
        }
    }

    private void gliderChosen() {
        // todo implement action handler.
    }

    private void smallExploderChosen() {
        // todo implement action handler.
    }

    private void randomChosen() {
        // todo implement action handler.
    }

}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

버터 나이프를 사용하여 콤보 박스에 바인딩하는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 참조를 전달하는 방법은 무엇입니까?

분류에서Dev

ExtJS6에서 포커스에 콤보 박스를 확장하는 방법은 무엇입니까?

분류에서Dev

winforms 콤보 상자를 간단한 문자열 목록에 바인딩하는 방법은 무엇입니까?

분류에서Dev

PyQt4에서 자동 완성 콤보 박스를 만드는 방법은 무엇입니까?

분류에서Dev

드롭 다운 콤보 박스를 여러 열에 생성하는 방법은 무엇입니까?

분류에서Dev

웹 브라우저에서 콤보 박스를 자동 완성하는 방법은 무엇입니까?

분류에서Dev

콤보 박스 내에서 문자열과 SVG를 결합하는 방법은 무엇입니까?

분류에서Dev

콤보 박스 드롭 다운을 다른 콤보 박스에 해당하는 목록으로 변경하는 방법은 무엇입니까?

분류에서Dev

타사 소프트웨어에서 콤보 박스 목록을 얻는 방법은 무엇입니까?

분류에서Dev

MVC보기에서 jquery를 사용하여 콤보 상자 런타임에 데이터를 바인딩하는 방법은 무엇입니까?

분류에서Dev

자바에서 드롭 다운 목록과 같은 편집 가능한 콤보 박스를 사용하는 방법은 무엇입니까?

분류에서Dev

C #에서 체크리스트 상자를 콤보 상자에 바인딩하는 방법은 무엇입니까?

분류에서Dev

콤보 상자 데이터 소스를 Windows Forms의 양식 / 목록 상자에 바인딩하는 방법은 무엇입니까?

분류에서Dev

PHP mysql에서 콤보 상자를 만드는 방법은 무엇입니까?

분류에서Dev

xceed 데이터 그리드에서 콤보 박스의 Itemssource를 바인딩하는 방법

분류에서Dev

ExtJS 4의 콤보 박스에 스토어를로드 할 때 추가 매개 변수를 보내는 방법은 무엇입니까?

분류에서Dev

xml 태그의 데이터를 xamdatagrid의 콤보 상자 또는 wpf의 datagrid에 바인딩하는 방법은 무엇입니까?

분류에서Dev

WPF의 콤보 박스에서 확인 된 항목을 가져 오는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 대한 자바 스크립트 코드의 문제점은 무엇입니까?

분류에서Dev

콤보 박스에서 새 값과 이전 값을 비교하는 방법은 무엇입니까?

분류에서Dev

Windows 스토어 앱에서 알림 및 콤보 박스를 지역화하는 방법은 무엇입니까? (C # / XAML, 다국어 앱 도구 키트)

분류에서Dev

URL에서 XML 데이터를 가져 와서 콤보 박스로 파싱하는 방법은 무엇입니까? 씨#

분류에서Dev

서버에서 zkbd (zsh 키보드 바인딩)를 설정하는 방법은 무엇입니까?

분류에서Dev

Java의 콤보 상자에 arraylist를 넣는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 확장자가없는 파일 이름을 표시하는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 연결된 속성을 추가하는 방법은 무엇입니까?

분류에서Dev

콤보 박스 actionListener에 사용자 작업 만 포함하는 방법은 무엇입니까?

분류에서Dev

vb.net 콤보 박스에서 SQL Server 저장 프로 시저의 결과를 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    버터 나이프를 사용하여 콤보 박스에 바인딩하는 방법은 무엇입니까?

  2. 2

    콤보 박스에 참조를 전달하는 방법은 무엇입니까?

  3. 3

    ExtJS6에서 포커스에 콤보 박스를 확장하는 방법은 무엇입니까?

  4. 4

    winforms 콤보 상자를 간단한 문자열 목록에 바인딩하는 방법은 무엇입니까?

  5. 5

    PyQt4에서 자동 완성 콤보 박스를 만드는 방법은 무엇입니까?

  6. 6

    드롭 다운 콤보 박스를 여러 열에 생성하는 방법은 무엇입니까?

  7. 7

    웹 브라우저에서 콤보 박스를 자동 완성하는 방법은 무엇입니까?

  8. 8

    콤보 박스 내에서 문자열과 SVG를 결합하는 방법은 무엇입니까?

  9. 9

    콤보 박스 드롭 다운을 다른 콤보 박스에 해당하는 목록으로 변경하는 방법은 무엇입니까?

  10. 10

    타사 소프트웨어에서 콤보 박스 목록을 얻는 방법은 무엇입니까?

  11. 11

    MVC보기에서 jquery를 사용하여 콤보 상자 런타임에 데이터를 바인딩하는 방법은 무엇입니까?

  12. 12

    자바에서 드롭 다운 목록과 같은 편집 가능한 콤보 박스를 사용하는 방법은 무엇입니까?

  13. 13

    C #에서 체크리스트 상자를 콤보 상자에 바인딩하는 방법은 무엇입니까?

  14. 14

    콤보 상자 데이터 소스를 Windows Forms의 양식 / 목록 상자에 바인딩하는 방법은 무엇입니까?

  15. 15

    PHP mysql에서 콤보 상자를 만드는 방법은 무엇입니까?

  16. 16

    xceed 데이터 그리드에서 콤보 박스의 Itemssource를 바인딩하는 방법

  17. 17

    ExtJS 4의 콤보 박스에 스토어를로드 할 때 추가 매개 변수를 보내는 방법은 무엇입니까?

  18. 18

    xml 태그의 데이터를 xamdatagrid의 콤보 상자 또는 wpf의 datagrid에 바인딩하는 방법은 무엇입니까?

  19. 19

    WPF의 콤보 박스에서 확인 된 항목을 가져 오는 방법은 무엇입니까?

  20. 20

    콤보 박스에 대한 자바 스크립트 코드의 문제점은 무엇입니까?

  21. 21

    콤보 박스에서 새 값과 이전 값을 비교하는 방법은 무엇입니까?

  22. 22

    Windows 스토어 앱에서 알림 및 콤보 박스를 지역화하는 방법은 무엇입니까? (C # / XAML, 다국어 앱 도구 키트)

  23. 23

    URL에서 XML 데이터를 가져 와서 콤보 박스로 파싱하는 방법은 무엇입니까? 씨#

  24. 24

    서버에서 zkbd (zsh 키보드 바인딩)를 설정하는 방법은 무엇입니까?

  25. 25

    Java의 콤보 상자에 arraylist를 넣는 방법은 무엇입니까?

  26. 26

    콤보 박스에 확장자가없는 파일 이름을 표시하는 방법은 무엇입니까?

  27. 27

    콤보 박스에 연결된 속성을 추가하는 방법은 무엇입니까?

  28. 28

    콤보 박스 actionListener에 사용자 작업 만 포함하는 방법은 무엇입니까?

  29. 29

    vb.net 콤보 박스에서 SQL Server 저장 프로 시저의 결과를 얻는 방법은 무엇입니까?

뜨겁다태그

보관