Mam okienko z niektórymi elementami sterującymi i przyciskiem. Kiedy klikam przycisk, chcę pokazać ProgressIndicator na środku panelu bez usuwania jakichkolwiek kontrolek.Jak wyświetlić ProgressIndicator w środkowej części panelu w Javafx
Dodanie do przycisku przycisku postępu w trakcie onAction
przycisku powoduje jego dodanie pod przyciskiem. Chcę, żeby to nakładało się na szybę.
Poniższy obrazek wyjaśnia, czego chcę.
Kod
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);
}
}
to działa dobrze, ale nakładka pokazać szary musiałem dodać vbox w moim układzie, ponieważ jeden bx.setDisable (true); nie wystarczy, aby pokazać szary również dodałem tekst ładowania za pomocą etykiety tekstowej = nowy tekst ("Ładowanie ... proszę czekać"); label.setBoundsType (TextBoundsType.VISUAL); label.setFill (Color.BLACK); –