我最近升級到Windows 10,而在Windows 8.1中工作的JavaFX代碼似乎在10中凍結。我已將問題跟蹤到在對話框中打開ComboBox。這似乎凍結了任何JavaFX程序。其他人是否也有同樣的問題? (Windows 10計算機仍然很少,遠在這之間將很好地確認錯誤確實是JavaFX問題)JavaFX ComboBox在Windows 10上未響應
我附上了下面的示例代碼。在主要階段的組合框是好的,但當我打開一個對話框,並嘗試在那裏使用組合框,整個事情凍結。我使用Java 8u51在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();
}
}
相關JDK錯誤:https://bugs.openjdk.java.net/browse/JDK-8132897 – berry120
我升級我的電腦和我的筆記本電腦到Windows 10,我的筆記本電腦,而不是存在這個問題我PC:\ –
我注意到在錯誤報告來組合框中凍結似乎是一個階段內的問題,而我的問題迄今僅限於對話。那麼這是否意味着我們基本上堅持到新的jdk出現? – macster110