我試圖改變光標來表明程序正忙。看起來這應該是非常簡單的,但我一直沒有得到它的正常工作,並在搜索幾個小時後,我還沒有拿出解決方案。這是我想要做的。JavaFX 2忙指示器光標
public class ButtonTest extends Application {
@Override
public void start(Stage primaryStage) {
final StackPane root = new StackPane();
primaryStage.setScene(new Scene(root, 200, 150));
Button button = new Button();
button.setText("Button");
root.getChildren().add(button);
primaryStage.show();
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
// Set the cursor to the wait cursor.
root.setCursor(Cursor.WAIT);
// Do some work.
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// Set the cursor back to the default.
root.setCursor(Cursor.DEFAULT);
}
});
}
public static void main(String[] args) {
launch(args);
}
}
如果我註釋掉的setCursor(Cursor.DEFAULT),之後我按下按鈕,等待5秒然後將光標變爲等待光標。所以它好像在等待睡眠之後,然後執行setCursor(Cursor.WAIT),緊接着是setCursor(Cursor.DEFAULT)。我錯過了什麼?
請參閱相關:[JAVAFX:如何禁用特定時間的按鈕?](http://stackoverflow.com/q/16919727) –