package bluej.groupwork.ui;
import javafx.application.Platform;
import javafx.scene.control.ButtonType;
import javafx.scene.control.ProgressBar;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import javafx.stage.Window;
import bluej.Config;
import bluej.groupwork.TeamSettings;
import bluej.groupwork.TeamworkCommandResult;
import bluej.groupwork.TeamworkProvider;
import bluej.utility.javafx.FXCustomizedDialog;
import bluej.utility.javafx.JavaFXUtil;
import threadchecker.OnThread;
import threadchecker.Tag;
| A dialog which displays an activity indicator while connection settings are
| being verified
|
| @author Davin McCall
| @author Amjad Altadmri
|
@OnThread(Tag.FXPlatform)
public class CheckConnectionDialog extends FXCustomizedDialog<Void>{
private ProgressBar activityIndicator;
private Text connLabel;
private TeamSettings settings;
private TeamworkProvider provider;
public CheckConnectionDialog(Window owner, TeamworkProvider provider, TeamSettings settings)
{
super(owner, "team.settings.checkConnection", "team-test-connection");
this.provider = provider;
this.settings = settings;
buildUI();
}
private void buildUI()
{
VBox contentPane = new VBox();
contentPane.setMinHeight(120.0);
JavaFXUtil.addStyleClass(contentPane, "pane");
getDialogPane().setContent(contentPane);
getDialogPane().getButtonTypes().setAll(ButtonType.CLOSE);
connLabel = new Text(Config.getString("team.checkconn.checking"));
contentPane.getChildren().add(new TextFlow(connLabel));
activityIndicator = new ProgressBar();
contentPane.getChildren().add(activityIndicator);
activityIndicator.setMaxWidth(9999.0);
contentPane.setFillWidth(true);
}
public void showAndCheck()
{
new Thread(new Runnable() {
@Override
@OnThread(Tag.Worker)
public void run()
{
final TeamworkCommandResult res = provider.checkConnection(settings);
Platform.runLater(() -> {
if (!res.isError())
{
connLabel.setText(Config.getString("team.checkconn.ok"));
}
else
{
connLabel.setText(Config.getString("team.checkconn.bad")
+ System.getProperty("line.separator") + System.getProperty("line.separator")
+ res.getErrorMessage());
}
activityIndicator.setProgress(1.0);
});
}
}).start();
showAndWait();
}
}
. CheckConnectionDialog
. buildUI
. showAndCheck
. run
92 neLoCode
+ 4 LoComm