私はいくつかのコントロールとボタンを備えたペインを持っています。ボタンをクリックすると、コントロールを削除せずに、ProgressIndicatorをペインの中央に表示する必要があります。Javafxのペインの中央にProgressIndicatorを表示するには
ボタンのonAction
中にプログレスインジケータをペインに追加すると、そのボタンの下にプログレスインジケータが追加されます。私はそれをペインにオーバーレイしたい。
下記の画像は、私が欲しいものを説明しています。
コードは
package fx;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage arg0) throws Exception {
final VBox bx = new VBox();
bx.setAlignment(Pos.CENTER);
TextField userName = new TextField("User Name");
userName.setMaxWidth(200);
TextField email = new TextField("Email");
email.setMaxWidth(200);
Button submit = new Button("Submit");
submit.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
ProgressIndicator pi = new ProgressIndicator();
//adding here but it is adding at below of button
//how to do here
bx.getChildren().add(pi);
//Further process
}
});
bx.getChildren().addAll(userName, email, submit);
Scene c = new Scene(bx);
arg0.setScene(c);
arg0.setMinWidth(500);
arg0.setMinHeight(500);
arg0.show();
}
public static void main(String[] args) {
Main h = new Main();
h.launch(args);
}
}
これが正常に動作しますが、オーバーレイは、私は理由1 bx.setDisable(真)私のレイアウトでVBOXを追加する必要がありましたグレーを表示します。私はテキストラベル=新しいテキスト( "読み込んでいます...しばらくお待ちください")を使用して読み込みテキストを追加しました。 label.setBoundsType(TextBoundsType.VISUAL); label.setFill(Color.BLACK); –