Si sta utilizzando l'ultima JDK 8 Early-Access? In tal caso, vedere questo bug report che ho archiviato: http://javafx-jira.kenai.com/browse/RT-29018
Fondamentalmente, in una recente versione della build di accesso anticipato, hanno apportato alcune modifiche alle skin e ai CSS. Ciò ha causato la rivelazione di un bug nascosto in cui i nodi figlio sono più sporchi dei nodi principali, ma entrambi devono ridisegnare nello stesso impulso, il livello di dirty del genitore finisce sovrascrivendo il livello dirty dei nodi figli.
In questo modo il progresso non viene visualizzato e, di fatto, per me lo progressBar
è diventato completamente invisibile, non appena updateProgress
è stato chiamato dall'attività. Hanno una patch in atto, non so quando questo passerà.
un work-around, utilizzare jdk7 in attesa sulla patch, o si può fare quello che ho fatto e applicare questo dal vecchio CSS nel vostro CSS foglio di stile:
/*hack to get progress bar working. From: JDK7u17 jfxrt.jar!/com/sun/javafx/scene/control/skin/caspian/caspian.css */
/*******************************************************************************
* *
* ProgressBar *
* *
******************************************************************************/
.progress-bar {
-fx-skin: "com.sun.javafx.scene.control.skin.ProgressBarSkin";
-fx-background-color:
-fx-box-border,
linear-gradient(to bottom, derive(-fx-color,30%) 5%, derive(-fx-color,-17%));
-fx-background-insets: 0, 1;
-fx-indeterminate-bar-length: 60;
-fx-indeterminate-bar-escape: true;
-fx-indeterminate-bar-flip: true;
-fx-indeterminate-bar-animation-time: 2;
-fx-focus-traversable: true;
}
.progress-bar .bar {
-fx-background-color:
-fx-box-border,
linear-gradient(to bottom, derive(-fx-accent,95%), derive(-fx-accent,10%)),
linear-gradient(to bottom, derive(-fx-accent,38%), -fx-accent);
-fx-background-insets: 0, 1, 2;
-fx-padding: 0.416667em; /* 5 */
}
.progress-bar:indeterminate .bar {
-fx-background-color: linear-gradient(to left, transparent, -fx-accent);
}
.progress-bar .track {
-fx-background-color:
-fx-box-border,
linear-gradient(to bottom, derive(-fx-color,-15%), derive(-fx-color,2.2%) 20%, derive(-fx-color,60%));
-fx-background-insets: 0, 1;
}
.progress-bar:disabled {
-fx-opacity: 1.0
}
Ho copiato il codice e funziona solo perfettamente. Ho integrato male in qualche modo? Lo sto usando in una sottoclasse e devo accedere alla barra di avanzamento in modo statico. questo potrebbe causare qualche problema? Sto usando 7v17 btw – Chromos
edit: il gui è progettato in un foglio fxml. – Chromos
Quindi la patch è già disponibile @jewelsea? –