Recentemente ho aggiornato a Windows 10 e il codice JavaFX che ha funzionato in Windows 8.1 sembra bloccarsi in 10. Ho rintracciato il problema in giù per aprire un ComboBox all'interno di una finestra di dialogo. Questo sembra bloccare qualsiasi programma JavaFX. Qualcun altro ha lo stesso problema? (I computer Windows 10 sono ancora pochi e lontani tra di loro, quindi sarebbe bene confermare che il bug è in effetti un problema JavaFX)JavaFX ComboBox non risponde su Windows 10
Ho allegato il codice di esempio qui sotto. Il ComboBox nel palco principale va bene, ma quando apro una finestra di dialogo e provo a usare il ComboBox lì, l'intera cosa si blocca. Sto utilizzando 8u51 Java in Eclipse 4.4.0
package javafxExamples;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceDialog;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class ComboErrorTest extends Application {
String[] list={"Jamie", "Arthur", "Gordon"};
private Stage stage;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
//create box in main stage.
ComboBox<String> comboBox=new ComboBox<String>();
for (int i=0; i<list.length; i++){
comboBox.getItems().add(list[i]);
}
comboBox.getSelectionModel().select(list[0]);
BorderPane pane = new BorderPane(comboBox);
pane.setPrefSize(400, 250);
//dialog bit
List<String> choices = new ArrayList<>();
choices.add("a");
choices.add("b");
choices.add("c");
ChoiceDialog<String> dialog = new ChoiceDialog<>("b", choices);
dialog.setTitle("Choice Dialog");
dialog.setHeaderText("Look, a Choice Dialog");
dialog.setContentText("Choose your letter:");
Button dialogButton=new Button("Open Dialog...");
dialogButton.setOnAction((action)->{
// Traditional way to get the response value.
Optional<String> result = dialog.showAndWait();
if (result.isPresent()){
System.out.println("Your choice: " + result.get());
}
});
pane.setBottom(dialogButton);
Scene scene = new Scene(pane);
stage.setTitle("ComboError Demo");
stage.setScene(scene);
stage.show();
}
}
rilevante JDK bug dalla risposta cancellato: https://bugs.openjdk.java.net/browse/JDK-8132897 – berry120
ho aggiornato il mio PC e il mio computer portatile a Windows 10. Questo problema esiste sul mio portatile e non il mio PC: \ –
Ho notato nella segnalazione di bug che il blocco della casella combinata sembra essere un problema all'interno di una fase mentre i miei problemi sono limitati ai soli dialoghi. Quindi questo significa che siamo praticamente bloccati fino a quando non uscirà un nuovo jdk? – macster110