[[oktatas:programozás:java:java_fx|< Java FX]] ====== JavaFX - Kontrollok kötése ====== * **Szerző:** Sallai András * Copyright (c) 2025, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Gomb kötése kiválasztott listaelemhez ===== A törlésgombot csak akkor legyen aktív ha ki van választva listaelem. @FXML private Button deleteButton; @FXML private ListView list1; @FXML void initialize() { list1.getItems().add("Item 1"); list1.getItems().add("Item 2"); list1.getItems().add("Item 3"); deleteButton.disableProperty() .bind(list1.getSelectionModel() .selectedItemProperty().isNull()); } ===== Gomb kötése táblázat soraihoz ===== package com.example; import javafx.beans.binding.Bindings; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; public class MainController { @FXML private TableView table; @FXML private TableColumn idCol; @FXML private TableColumn nameCol; @FXML private Button startButton; @FXML private void initialize() { idCol.setCellValueFactory(new PropertyValueFactory<>("id")); nameCol.setCellValueFactory(new PropertyValueFactory<>("name")); ObservableList data = FXCollections.observableArrayList(); data.add(new Employee(1, "name1")); data.add(new Employee(2, "name2")); data.add(new Employee(3, "name3")); data.add(new Employee(4, "name4")); table.setItems(data); /* Tiltjuk a gombot ha nincs kiválasztva semmi vagy ha a name értéke name3 */ startButton.disableProperty() .bind(table.getSelectionModel() .selectedItemProperty().isNull() .or( Bindings.select( table.getSelectionModel() .selectedItemProperty(), "name") .isEqualTo("name3") ) ); } @FXML void onClickStartButton(ActionEvent event) { } } ===== TextField kötése rádiógomb csoporthoz ===== A TextField csak akkor legyen látható ha a radioButton1 van kiválsztva. @FXML private RadioButton radioButton1; @FXML private ToggleGroup radioGroup1; @FXML private TextField textField1; //... textField1.visibleProperty().bind( Bindings.equal(radioGroup1.selectedToggleProperty(), radioButton1) );