Въведение в JavaFX ProgressBar
В пакета JavaFX, ProgressBar е форма на индикатор за прогрес, която се обозначава като хоризонтална лента. Той помага за показване на напредъка на определена задача. Обикновено това е двойна стойност между диапазона 0 и 1. Лента за напредък на JavaFX е създадена от класа javafx.scene.control.ProgressBar.
Методите, конструкторите и примерите на JavaFX ProgressBar ще бъдат разгледани в следващите раздели.
Конструктори на JavaFX ProgressBar
По-долу са двата конструктора за JavaFX ProgressBar Constructors.
1. ProgressBar () : Ще бъде създаден междинен ProgressBar.
// create a Progress
ProgressBar pb = new ProgressBar();
2. ProgressBar (double s) : Ще бъде създаден ProgressBar с двойно s като негов напредък.
// create a ProgressBar
ProgressBar pb = new ProgressBar(0);
Методи на JavaFX ProgressBar
Нека видим някои от често използваните методи в JavaFX ProgressBar.
- isIndeterminate (): Стойността на неопределеното свойство ще бъде върната.
- getProgress (): Стойността на свойството Progress ще бъде върната.
- setProgress (boolean v): Ще бъде зададена стойността на свойството Progress.
Как да създадете ProgressBar?
Има няколко стъпки за създаване на лента за напредък.
1. Задайте заглавието на създадения етап
s.setTitle("ProgressBar Sample");
2. създайте лента за прогрес: лентите за напредък могат да бъдат параметризирани или не параметризирани, както следва.
// create a ProgressBar
ProgressBar pb = new ProgressBar(0); //parameterized
// create a ProgressBar
ProgressBar pb = new ProgressBar(); //non-parameterized
3. Добавете лентата за прогрес, създадена към графиката на сцената: Добавете лентата за напредък към графиката на сцената, като използвате стъпките по-долу.
Scene sc = new Scene(r, 300, 200);
s.setScene(sc);
s.show();
Програма за внедряване на лентата за напредък на JavaFX
Сега нека да видим някои от програмите на JavaFX, които прилагат лентата на прогреса на JavaFX.
Програма №1
По-долу е дадена Java програма за демонстриране на лентата за напредък:
Код:
//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);
)
)
Резултат:
Обяснение:
- Първо се създава лента за напредък и я добавя към графиката на сцената.
- След като е направено, изходът показва лента за напредък, както е показано по-горе.
Програма №2
Java програма за показване на лента за напредък с етикет.
Код:
//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);
)
)
Резултат:
Обяснение: Разликата на тази програма от горната програма е, че тук се използва етикет заедно с лентата за напредък.
Програма №3
Java програма за показване на лентата на прогреса с определена стойност.
Код:
//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);
)
)
Резултат:
Обяснение:
- В лентата на хода, потребителят може също така да зададе стойността преди съставянето на кода.
- В тази програма стойността е зададена като 0, 75 и може да се види, че лентата за прогрес се показва със затъмнени 75% от лентата.
- Затъмнената част предполага, че напредъкът е 75%.
Програма №4
Java програма за демонстриране на лентата за напредък с бутон за търсене на лентата, дадена по-долу:
Код:
//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);
)
)
Резултат:
Когато натиснете бутона, напредъкът се увеличава, както е показано на фигурите по-долу.
Обяснение:
- В началото се създават лента и бутон за напредък.
- При натискане на бутона се задава действие за увеличаване на напредъка с помощта на обработващ събитията.
- Така че, когато се натисне бутона, напредъкът се увеличава.
заключение
В JavaFX се използва лента за прогрес, за да се покаже напредъкът на задача с помощта на хоризонтална лента. Решението за избор на конструиран или параметризиран конструктор зависи от изискването на потребителя. Тук, няколко метода и програми на лентата за напредък на JavaFX също са обяснени подробно.
Препоръчителни статии
Това е ръководство за JavaFX ProgressBar. Тук обсъждаме конструкторите, методите и стъпките за създаване на JavaFX ProgressBar заедно с различните примери. Можете също да разгледате следните статии, за да научите повече -
- Обект в Java
- Капсулиране в JavaScript
- Статична ключова дума в Java
- Претоварване и отмяна в Java
- Етикет на JavaFX
- Топ 5 вида Boostrap с примерен код
- Как да създадете отметка в JavaFX с примери?
- Ръководство за примери на отметка в Bootstrap
- Различни методи за създаване на цвят JavaFX
- JavaFX VBox | Топ 15 методи
- Различни методи на JavaFX StackPane