: 자바 FX의 ProgressBar 바인드 SimpleDoubleProperty
private SimpleDoubleProperty progressBar;
public Tabela(Double progressBar) {
this.progressBar = new SimpleDoubleProperty(progressBar);
}
public Double getProgressBar() {
return progressBar.get();
}
public DoubleProperty getProgressBarProperty() {
return progressBar;
}
public void setProgressBar(Double progressBar) {
this.progressBar.set(progressBar);
}
public void setProgressBar(SimpleDoubleProperty progressBar) {
this.progressBar = progressBar;
}
그리고 내 hbox에의
사용하고 진행 막대는 다음과 같이final ProgressBar progress = new ProgressBar();
progress.setMinWidth(324.0);
progress.progressProperty().bind(tabela.getProgressBarProperty());
그래서 나는 내가 진행 막대를 제어하는 것, 값이 변경되어 일정 시간 후, 즉 소위 것을 사용하고 있습니다. 값이 변경되지만 내 tableview에서 아무 일도 일어나지 않지만 열 위치를 다른 것으로 변경하면 진행 막대가 실행 중입니다.
"label"도 마찬가지입니다. "text"로 바뀌면 작동하지만 진행 표시 줄을 사용해야하는 경우입니다.
'tableview'새로 고침을 강제하는 방법이 있습니까?
작업. setCellFactory를 사용하여 테이블 셀에 실제 ProgressBar 위젯을 표시하고 reflection을 사용하여 자동으로 progressBarProperty()에 바인드하여 setCellValueFactory (new PropertyValueFactory ("progressBar")) 값이 변경되면 다시 그릴 수 있습니다. –
jhsheets
예, 고맙습니다. 하지만 이제는 진행률 표시 줄 옆에 "텍스트"를 넣고 다른 "클래스"의 속성을 "바인딩"하지만 작동하지 않게합니다. 나는 당신이 더 잘 볼 수 있도록 코드를 게시했다 – Giovane
그것이 작동하지 않는다고 말하는 것이 당신의 문제가 무엇인지 말해주지 않는다. Tabela 클래스에 progressBarProperty() 메서드가 있으면 셀 값 팩토리에서 columSituacao.setCellValueFactory (새 PropertyValueFactory ("progressBar"))를 설정해야합니다. progressProperty() 메소드의 이름을 변경하면 columSituacao.setCellValueFactory (새 PropertyValueFactory ("progress"))를 사용할 수 있습니다. 적절하게 바인딩 할 속성 이름의 철자를 지정해야합니다. –
jhsheets