Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_fx:kontrollok_koetese

Ez a dokumentum egy előző változata!


< Java FX

JavaFX - Kontrollok kötése

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<String> 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

MainController.java
package com.example;
 
import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
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<Employee> table;
 
    @FXML
    private TableColumn<Employee, SimpleIntegerProperty> idCol;
 
    @FXML
    private TableColumn<Employee, SimpleStringProperty> nameCol;
 
    @FXML
    private Button startButton;
 
    @FXML
    private void initialize() {
        idCol.setCellValueFactory(new PropertyValueFactory<>("id"));
        nameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
 
        ObservableList<Employee> 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)
);
oktatas/programozas/java/java_fx/kontrollok_koetese.1745306760.txt.gz · Utolsó módosítás: 2025/04/22 09:26 szerkesztette: admin