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