Introduktion till JavaFX ProgressBar

I JavaFX-paketet är ProgressBar en form av Progress Indicator som betecknas som en horisontell stapel. Det hjälper till att visa framstegen för en viss uppgift. Normalt är det ett dubbelt värde mellan intervallet 0 och 1. JavaFX Progress Bar instanseras från klassen javafx.scene.control.ProgressBar.

Metoderna, konstruktörerna och exemplen på JavaFX ProgressBar kommer att diskuteras i följande avsnitt.

JavaFX ProgressBar-konstruktörer

Följande är de två konstruktörerna för JavaFX ProgressBar Constructors.

1. ProgressBar () : En mellanliggande ProgressBar skapas.

// create a Progress
ProgressBar pb = new ProgressBar();

2. ProgressBar (double s) : En ProgressBar skapas med en double s som dess framsteg.

// create a ProgressBar
ProgressBar pb = new ProgressBar(0);

Metoder för JavaFX ProgressBar

Låt oss se några av de vanligt använda metoderna i JavaFX ProgressBar.

  • isIndeterminate (): Det obestämda objektets värde kommer att returneras.
  • getProgress (): Progress-egenskapens värde kommer att returneras.
  • setProgress (boolean v): Progressegenskapens värde kommer att ställas in.

Hur skapar jag en ProgressBar?

Det finns flera steg för att skapa en framstegsfält.

1. Ställ in titeln för scenen skapad

s.setTitle("ProgressBar Sample");

2. skapa en framstegsfält: Framstegsfält kan parametreras eller icke-parametreras enligt följande.

// create a ProgressBar
ProgressBar pb = new ProgressBar(0); //parameterized
// create a ProgressBar
ProgressBar pb = new ProgressBar(); //non-parameterized

3. Lägg till framstegsfält skapat i scengrafen: Lägg till framstegsfältet till scengrafen med stegen nedan.

Scene sc = new Scene(r, 300, 200);
s.setScene(sc);
s.show();

Program för att implementera JavaFX Progress Bar

Låt oss nu se några av JavaFX-programmen som implementerar JavaFX-framstegsfältet.

Program nr 1

Java-program för att visa framstegsfält ges nedan:

Koda:

//Java program to demonstrate progress bar
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ProgressBar;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
//sample class that extends application base class
public class JavaFXProgressBarExample extends Application (
//application starts here
public void start(Stage s) throws Exception (
//create stackpane
StackPane r = new StackPane();
//create progress bar
ProgressBar p = new ProgressBar();
r.getChildren().add(p);
//create scene
Scene sc = new Scene(r, 400, 300);
//set the scene
s.setScene(sc);
//set the title
s.setTitle("Sample Progress Bar");
//display the results
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Utgång:

Förklaring :

  • En framstegsfält skapas först och läggs till den i scengrafen.
  • När det är gjort visade utgången ett framstegsfält som visas ovan.

Program # 2

Java-program för att visa en framstegsfält med en etikett.

Koda:

//Java program to demonstrate progress bar with a label
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.layout.TilePane;
import javafx.stage.Stage;
//sample class that extends application base class
public class JavaFXProgressBarExample extends Application (
//application starts here
public void start(Stage s) throws Exception (
// set title
s.setTitle("JavaFX Progress bar example");
//create progress bar
ProgressBar p = new ProgressBar();
// tile pane
TilePane tp = new TilePane();
// label
Label l = new Label(" This is the progress bar !!!!");
tp.getChildren().add(p);
tp.getChildren().add(l);
Scene sc = new Scene(tp, 200, 200);
s.setScene(sc);
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Utgång:

Förklaring: Skillnaden mellan detta program från ovanstående program är att här används en etikett tillsammans med framstegsfältet.

Program # 3

Java-program för att visa framstegsfält med ett visst värde.

Koda:

//Java program to demonstrate progress bar with a value mentioned by the user
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.layout.TilePane;
import javafx.stage.Stage;
//sample class that extends application base class
public class JavaFXProgressBarExample extends Application (
//application starts here
public void start(Stage s) throws Exception (
// set title
s.setTitle("JavaFX Progress Bar example");
//create progress bar
ProgressBar p = new ProgressBar(0);
//set a value for progress bar
p.setProgress(0.75);
// tile pane
TilePane tp = new TilePane();
// label
Label l = new Label(" Showing a progress of 75% !!!!");
tp.getChildren().add(p);
tp.getChildren().add(l);
Scene sc = new Scene(tp, 200, 200);
s.setScene(sc);
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Utgång:

Förklaring :

  • I framstegsfältet kan användaren också ställa in värdet före sammanställning av kod.
  • I detta program är värdet inställt som 0, 75 och man ser att framstegsfältet visas med 75% av fältet mörkare.
  • Den mörkare delen innebär att framstegen är 75%.

Program # 4

Java-program för att demonstrera framstegsfältet med en knapp för att söka i fältet nedan:

Koda:

//Java program to demonstrate progress bar with a button to seek the bar
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import java.io.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Label;
import javafx.stage.Stage;
import java.net.*;
//sample class that extends application base class
public class JavaFXProgressBarExample extends Application (
static double v =0;
//application starts here
public void start(Stage s) throws Exception (
// set title
s.setTitle("JavaFX Progress bar example");
//create progress bar
ProgressBar p = new ProgressBar(0);
// tile pane
TilePane tp = new TilePane();
// action event
EventHandler ev = new EventHandler() (
public void handle(ActionEvent e)
(
// set progress to different level of progressbar
v += 0.1;
p.setProgress(v);
)
);
// creating button
Button btn = new Button("click me to move progress bar");
// set on action
btn.setOnAction(ev);
tp.getChildren().add(p);
tp.getChildren().add(btn);
//create the scene
Scene sc = new Scene(tp, 200, 200);
//set the scene
s.setScene(sc);
//display the result
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Utgång:

När du klickar på knappen ökas framstegen som visas i figurerna nedan.

Förklaring :

  • En framstegsfält och knapp skapas först.
  • När du klickar på knappen ställs en åtgärd in för att öka framstegen med en händelsehanterare.
  • Så när man klickar på knappen ökas framstegen.

Slutsats

I JavaFX används en framstegsfält för att visa framstegen för en uppgift med hjälp av en horisontell stapel. Beslutet att välja en parametrerad eller icke-parametrerad konstruktör beror på användarens krav. Här förklaras också flera metoder och program i JavaFX progress bar.

Rekommenderade artiklar

Detta är en guide till JavaFX ProgressBar. Här diskuterar vi konstruktörer, metoder och steg för att skapa JavaFX ProgressBar tillsammans med de olika exemplen. Du kan också titta på följande artiklar för att lära dig mer -

  1. Objekt i Java
  2. Inkapsling i JavaScript
  3. Statiska nyckelord i Java
  4. Överbelastning och överbestyrning i Java
  5. JavaFX-etikett
  6. Topp 5 typer av Boostrap med provkod
  7. Hur skapar jag kryssrutan i JavaFX med exempel?
  8. Guide till exempel på kryssrutan i Bootstrap
  9. Olika metoder för att skapa JavaFX-färg
  10. JavaFX VBox | Topp 15 metoder
  11. Olika metoder för JavaFX StackPane

Kategori: