Úvod do JavaFX ProgressBar

V balíčku JavaFX je ProgressBar forma Progress Indicator, která je označena jako vodorovný pruh. Pomáhá při zobrazování průběhu konkrétního úkolu. Normálně se jedná o dvojitou hodnotu mezi rozsahem 0 a 1. Panel Progress JavaFX je vytvořen z třídy javafx.scene.control.ProgressBar.

Metody, konstruktéři a příklady JavaFX ProgressBar budou popsány v následujících částech.

Konstruktory JavaFX ProgressBar

Následují dva konstruktory pro JavaFX ProgressBar Constructors.

1. ProgressBar () : Bude vytvořen přechodný ProgressBar.

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

2. ProgressBar (double s) : ProgressBar bude vytvořen s dvojitým s jako jeho pokrok.

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

Metody JavaFX ProgressBar

Podívejme se na některé z běžně používaných metod v JavaFX ProgressBar.

  • isIndeterminate (): Neurčitá hodnota vlastnosti bude vrácena.
  • getProgress (): Hodnota vlastnosti Progress bude vrácena.
  • setProgress (boolean v): Bude nastavena hodnota vlastnosti Progress.

Jak vytvořit ProgressBar?

Existuje několik kroků k vytvoření ukazatele průběhu.

1. Nastavte název vytvořené fáze

s.setTitle("ProgressBar Sample");

2. vytvořte ukazatel průběhu : ukazatele průběhu lze parametrizovat nebo neparametrizovat následujícím způsobem.

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

3. Přidat indikátor průběhu vytvořený do grafu scény: Přidejte indikátor průběhu do grafu scény pomocí následujících kroků.

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

Program implementace JavaFX Progress Bar

Nyní se podívejme na některé z programů JavaFX, které implementují progressbar JavaFX.

Program č. 1

Níže je uveden program Java pro demonstraci ukazatele průběhu:

Kód:

//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);
)
)

Výstup :

Vysvětlení :

  • Nejprve se vytvoří indikátor průběhu a přidá se do grafu scény.
  • Jakmile je hotovo, výstup zobrazil progressbar, jak je uvedeno výše.

Program č. 2

Program Java pro zobrazení ukazatele průběhu se štítkem.

Kód:

//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);
)
)

Výstup :

Vysvětlení: Rozdíl tohoto programu od výše uvedeného programu je ten, že se zde používá popisek spolu s ukazatelem průběhu.

Program č. 3

Program Java pro zobrazení progressbar s konkrétní hodnotou.

Kód:

//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);
)
)

Výstup :

Vysvětlení :

  • Na ukazateli průběhu může uživatel také nastavit hodnotu před kompilací kódu.
  • V tomto programu je hodnota nastavena na 0, 75 a je vidět, že ukazatel průběhu se zobrazuje se 75% ztmavené lišty.
  • Ztmavená část znamená, že pokrok je 75%.

Program č. 4

Program Java pro demonstraci ukazatele průběhu pomocí tlačítka pro vyhledání níže uvedeného panelu:

Kód:

//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);
)
)

Výstup :

Po kliknutí na tlačítko se postup zvyšuje, jak je znázorněno na obrázcích níže.

Vysvětlení :

  • Nejprve se vytvoří indikátor průběhu a tlačítko.
  • Po klepnutí na tlačítko se nastaví akce ke zvýšení pokroku pomocí obsluhy událostí.
  • Pokaždé, když na tlačítko klepnete, tak se pokrok zvýší.

Závěr

V JavaFX se lišta Progress používá k zobrazení průběhu úlohy pomocí vodorovného pruhu. Rozhodnutí zvolit parametrizovaného nebo neparametrizovaného konstruktoru závisí na požadavku uživatele. Zde je podrobně vysvětleno několik metod a programů lišty postupu JavaFX.

Doporučené články

Toto je průvodce JavaFX ProgressBar. Zde diskutujeme konstruktéry, metody a kroky pro tvorbu JavaFX ProgressBar spolu s různými příklady. Další informace naleznete také v následujících článcích -

  1. Objekt v Javě
  2. Zapouzdření do JavaScriptu
  3. Statické klíčové slovo v Javě
  4. Přetížení a přetečení v Javě
  5. Štítek JavaFX
  6. Top 5 typů Boostrap se ukázkovým kódem
  7. Jak vytvořit zaškrtávací políčko v JavaFX s příklady?
  8. Průvodce příklady zaškrtávacích políček v Bootstrapu
  9. Různé metody vytváření barev JavaFX
  10. JavaFX VBox | Top 15 metod
  11. Různé metody JavaFX StackPane

Kategorie: