Slider_dynamic_Refresh1
  • slider.valueProperty().addListener
Code:

package javafxtemplate1;
//Grid_Transform1.htm
import javafx.application.Application;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Orientation;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.control.Slider;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

/**
*
* @author Manas9
*/
public class JavaFXTemplate1 extends Application {
private static double count1 = 0.1;
public double d4 ,d5;
ProgressBar p2 = new ProgressBar(0);
ProgressIndicator pi1 = new ProgressIndicator();
Slider slider = new Slider(0, 1, 0.0);
GridPane root = new GridPane();
Label label1 = new Label("Progress");
Label label2 = new Label("Progress");
//
@Override
public void start(Stage primaryStage) {
//width, height
p2.setMinSize(200,50);
p2.setProgress(count1);
pi1.setMinSize(200, 200);
Button b1 = new Button("Exit");
Button b2 = new Button("Restart");
b1.setOnAction(e->clickevent());
b2.setOnAction(e->refresh());
//b2.setOnAction(e ->slider.setValue(increment()));
//
slider.setShowTickMarks(true);
slider.setShowTickLabels(true);
slider.setMajorTickUnit(0.25f);
slider.setBlockIncrement(0.1f);
slider.setOrientation(Orientation.VERTICAL);
//
//
slider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
//
d4 = new_val.doubleValue();
String str1 = new String();
str1 = String.format( "%.2f",p2.getProgress());
p2.setProgress(d4);
pi1.setProgress(d4);
label2.setText("Progress : "+ str1);
} });
//increment(d4);
label1.textProperty().bind(
Bindings.format( "slider %.2f",slider.valueProperty()));
//label2.setText("" +slider.valueProperty());
//
root.setHgap(30);
root.setVgap(50);
//root.addRow(0, new Label(" Progress:"+ p2.getProgress()),
// p2, b1);
root.addRow(0, label1, p2,b1, b2);
root.addRow(1,label2, pi1, slider);
root.setStyle("-fx-padding: 10;" +
"-fx-border-style: solid inside;" + "-fx-border-width: 2;" +
"-fx-border-insets: 5;" + "-fx-border-radius: 15;" +
"-fx-border-color: blue;");

Scene scene = new Scene(root, 550,350);
primaryStage.setScene(scene);
primaryStage.setTitle("Progressbar Indicator");
primaryStage.show();
}
public void refresh(){
slider.setValue(0.0); p2.progressProperty().unbind();
p2.setProgress(0.0);pi1.progressProperty().unbind();
pi1.setProgress(0.0); label2.setText("refreshed");
}
public static void main(String[] args) {
launch(args);
}

public void clickevent(){
Platform.exit();
}

}// class ends

Display

Slide up or down

Restart: Refresh

Resume slider: