Ho un pannello con alcuni controlli e un pulsante. Quando clicco sul pulsante, voglio mostrare ProgressIndicator al centro del riquadro senza rimuovere alcun controllo.Come mostrare ProgressIndicator nel centro del riquadro in Javafx
Quando aggiungo un ProgressIndicator al pannello durante il onAction
di pulsante, lo aggiunge sotto il pulsante. Voglio che si sovrapponga al pannello.
L'immagine seguente spiega cosa voglio.
Codice
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);
}
}
Questo funziona bene, ma la sovrapposizione di mostrare il grigio ho dovuto aggiungere il VBOX nel mio layout perché quello bx.setDisable (true); non basterà mostrare il grigio aggiungo anche il testo di caricamento usando l'etichetta Testo = nuovo Testo ("Caricamento in corso ... Attendere"); label.setBoundsType (TextBoundsType.VISUAL); label.setFill (Color.BLACK); –