JavaFX tableview 행 선택 활성화 및 비활성화

AchuRockzz

내 프로젝트의 일부로 나는 잠시 동안 비활성화되어야하는 tableview를 표시하고 싶습니다 (편집 시간 nb : 테이블 편집이 아님). 그래서 나는 tableview를 비활성화하는 작업 코드를 얻었습니다. 이것은 작업 코드입니다.

table.setSelectionModel(null);

그래서 내 문제는 편집 과정이 끝난 후 버튼을 클릭하면 다시 활성화하고 싶지만 불행히도 대체 코드를 찾을 수 없습니다. 누구나 행 선택을 활성화 할 코드를 제안하십시오. 감사합니다.

James_D

테이블을 생성 할 때 기본 선택 모델을 검색 할 수 있습니다.

TableView<T> table = new TableView<>();
TableViewSelectionModel<T> defaultSelectionModel = table.getSelectionModel();

T테이블 유형은 어디에 있습니까 ? (물론 FXML을 사용하는 경우 컨트롤러의 initialize()메서드 에 두 번째 줄을 넣으십시오 .)

그런 다음 행 선택을 비활성화하려면

table.setSelectionModel(null);

다시 활성화하려면

table.setSelectionModel(defaultSelectionModel);

다음은 SSCCE입니다.

import java.util.function.Function;

import javafx.application.Application;
import javafx.beans.property.Property;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TableView.TableViewSelectionModel;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class TableWithDisabledSelection extends Application {

    @Override
    public void start(Stage primaryStage) {

        TableView<Person> table = new TableView<>();
        TableViewSelectionModel<Person> defaultSelectionModel = table.getSelectionModel();

        table.getColumns().add(column("First Name", Person::firstNameProperty));
        table.getColumns().add(column("Last Name", Person::lastNameProperty));
        table.getColumns().add(column("Email", Person::emailProperty));

        table.getItems().addAll(
                new Person("Jacob", "Smith", "[email protected]"),
                new Person("Isabella", "Johnson", "[email protected]"),
                new Person("Ethan", "Williams", "[email protected]"),
                new Person("Emma", "Jones", "[email protected]"),
                new Person("Michael", "Brown", "[email protected]") 
        );

        CheckBox enableSelection = new CheckBox("Enable selection");
        enableSelection.setSelected(true);
        enableSelection.selectedProperty().addListener((obs, wasSelected, isNowSelected) -> {

            if (isNowSelected) {
                table.setSelectionModel(defaultSelectionModel);
            } else {
                table.setSelectionModel(null);
            }


        });

        BorderPane root = new BorderPane(table);
        BorderPane.setAlignment(enableSelection, Pos.CENTER);
        BorderPane.setMargin(enableSelection, new Insets(5));
        root.setBottom(enableSelection);

        primaryStage.setScene(new Scene(root, 600, 600));
        primaryStage.show();
    }

    private <S,T> TableColumn<S,T> column(String title, Function<S,Property<T>> prop) {
        TableColumn<S,T> col = new TableColumn<>(title);
        col.setCellValueFactory(cellData -> prop.apply(cellData.getValue()));
        return col ;
    }

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

    public static class Person {

        private final StringProperty firstName = new SimpleStringProperty();
        private final StringProperty lastName = new SimpleStringProperty();
        private final StringProperty email = new SimpleStringProperty();

        public Person(String firstName, String lastName, String email) {
            setFirstName(firstName);
            setLastName(lastName);
            setEmail(email);
        }

        public final StringProperty firstNameProperty() {
            return this.firstName;
        }


        public final String getFirstName() {
            return this.firstNameProperty().get();
        }


        public final void setFirstName(final String firstName) {
            this.firstNameProperty().set(firstName);
        }


        public final StringProperty lastNameProperty() {
            return this.lastName;
        }


        public final String getLastName() {
            return this.lastNameProperty().get();
        }


        public final void setLastName(final String lastName) {
            this.lastNameProperty().set(lastName);
        }


        public final StringProperty emailProperty() {
            return this.email;
        }


        public final String getEmail() {
            return this.emailProperty().get();
        }


        public final void setEmail(final String email) {
            this.emailProperty().set(email);
        }

    }
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaFX tableview 행 선택 활성화 및 비활성화

분류에서Dev

TableView JavaFx에서 여러 행을 선택한 경우 일부 컨텍스트 메뉴 항목 비활성화

분류에서Dev

Swift의 Tableview에서 다중 행 선택 비활성화

분류에서Dev

QTableWidget에서 행 선택시 QPushButton 활성화 / 비활성화

분류에서Dev

jQuery, onclick 및 비활성화 선택

분류에서Dev

Java Script를 사용하여 값 선택 비활성화 및 활성화

분류에서Dev

JavaFX ListView CellFactory가 항목 선택을 비활성화 함

분류에서Dev

라디오 버튼 선택 및 옵션 선택에 따라 양식 필드 활성화 및 비활성화

분류에서Dev

sifter 비활성화 선택

분류에서Dev

asp .net 및 C #의 gridview에서 선택한 행을 활성화하는 방법

분류에서Dev

extjs 4-clickrepeater 비활성화 버그 및 날짜 선택기

분류에서Dev

JQuery Datatable에서 선택한 행 비활성화

분류에서Dev

Jtable 비활성화 마우스 오버 선택한 행

분류에서Dev

Windows에서 전체 행 선택 비활성화

분류에서Dev

Android Checkbox 활성화 및 비활성화

분류에서Dev

입력 활성화 및 비활성화

분류에서Dev

검도 uI 날짜 선택기 비활성화 유형 및 선택

분류에서Dev

JavaFX 비활성화 버튼

분류에서Dev

값 양식 선택에 따라 양식 텍스트 입력을 비활성화 및 활성화합니다 ..?

분류에서Dev

적성-선택 저장 비활성화

분류에서Dev

onTapGesture가 내 선택기 및 세그먼트 탭을 비활성화합니다.

분류에서Dev

TabItem 선택한 wpf에서 테두리 및 배경 변경 비활성화

분류에서Dev

React에서 이름으로 체크 박스 비활성화 및 선택 해제

분류에서Dev

값에 따라 선택 비활성화 / 활성화

분류에서Dev

값에 따라 선택 비활성화 / 활성화

분류에서Dev

JQuery : 선택하면 활성화 아니면 비활성화

분류에서Dev

ConEmu 복사 선택 비활성화

분류에서Dev

Symfony2 비활성화 선택

분류에서Dev

선택 옵션 비활성화

Related 관련 기사

  1. 1

    JavaFX tableview 행 선택 활성화 및 비활성화

  2. 2

    TableView JavaFx에서 여러 행을 선택한 경우 일부 컨텍스트 메뉴 항목 비활성화

  3. 3

    Swift의 Tableview에서 다중 행 선택 비활성화

  4. 4

    QTableWidget에서 행 선택시 QPushButton 활성화 / 비활성화

  5. 5

    jQuery, onclick 및 비활성화 선택

  6. 6

    Java Script를 사용하여 값 선택 비활성화 및 활성화

  7. 7

    JavaFX ListView CellFactory가 항목 선택을 비활성화 함

  8. 8

    라디오 버튼 선택 및 옵션 선택에 따라 양식 필드 활성화 및 비활성화

  9. 9

    sifter 비활성화 선택

  10. 10

    asp .net 및 C #의 gridview에서 선택한 행을 활성화하는 방법

  11. 11

    extjs 4-clickrepeater 비활성화 버그 및 날짜 선택기

  12. 12

    JQuery Datatable에서 선택한 행 비활성화

  13. 13

    Jtable 비활성화 마우스 오버 선택한 행

  14. 14

    Windows에서 전체 행 선택 비활성화

  15. 15

    Android Checkbox 활성화 및 비활성화

  16. 16

    입력 활성화 및 비활성화

  17. 17

    검도 uI 날짜 선택기 비활성화 유형 및 선택

  18. 18

    JavaFX 비활성화 버튼

  19. 19

    값 양식 선택에 따라 양식 텍스트 입력을 비활성화 및 활성화합니다 ..?

  20. 20

    적성-선택 저장 비활성화

  21. 21

    onTapGesture가 내 선택기 및 세그먼트 탭을 비활성화합니다.

  22. 22

    TabItem 선택한 wpf에서 테두리 및 배경 변경 비활성화

  23. 23

    React에서 이름으로 체크 박스 비활성화 및 선택 해제

  24. 24

    값에 따라 선택 비활성화 / 활성화

  25. 25

    값에 따라 선택 비활성화 / 활성화

  26. 26

    JQuery : 선택하면 활성화 아니면 비활성화

  27. 27

    ConEmu 복사 선택 비활성화

  28. 28

    Symfony2 비활성화 선택

  29. 29

    선택 옵션 비활성화

뜨겁다태그

보관