Introdução ao JavaFX ProgressBar
No pacote JavaFX, ProgressBar é uma forma de Indicador de Progresso, que é indicada como uma barra horizontal. Ajuda a exibir o progresso de uma tarefa específica. Normalmente, é um valor duplo entre o intervalo 0 e 1. A barra de progresso JavaFX é instanciada a partir da classe javafx.scene.control.ProgressBar.
Os métodos, construtores e exemplos de JavaFX ProgressBar serão discutidos nas seções a seguir.
Construtores JavaFX ProgressBar
A seguir, estão os dois construtores dos construtores JavaFX ProgressBar.
1. ProgressBar () : Um ProgressBar intermediário será criado.
// create a Progress
ProgressBar pb = new ProgressBar();
2. ProgressBar (s duplo) : Um ProgressBar será criado com um s duplo como seu progresso.
// create a ProgressBar
ProgressBar pb = new ProgressBar(0);
Métodos do JavaFX ProgressBar
Vamos ver alguns dos métodos mais usados no JavaFX ProgressBar.
- isIndeterminate (): o valor da propriedade indeterminada será retornado.
- getProgress (): o valor da propriedade Progress será retornado.
- setProgress (booleano v): o valor da propriedade Progress será definido.
Como criar uma ProgressBar?
Existem várias etapas para criar uma barra de progresso.
1. Defina o título para o palco criado
s.setTitle("ProgressBar Sample");
2. crie uma barra de progresso: as barras de progresso podem ser parametrizadas ou não parametrizadas da seguinte maneira.
// create a ProgressBar
ProgressBar pb = new ProgressBar(0); //parameterized
// create a ProgressBar
ProgressBar pb = new ProgressBar(); //non-parameterized
3. Adicionar barra de progresso criada ao gráfico de cena: Adicione a barra de progresso ao gráfico de cena usando as etapas abaixo.
Scene sc = new Scene(r, 300, 200);
s.setScene(sc);
s.show();
Programa para implementar a barra de progresso JavaFX
Agora vamos ver alguns dos programas JavaFX que implementam a barra de progresso JavaFX.
Programa # 1
O programa Java para demonstrar a barra de progresso é fornecido abaixo:
Código:
//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);
)
)
Resultado :
Explicação:
- Uma barra de progresso é criada primeiro e adicionada ao gráfico de cena.
- Uma vez feito, a saída exibia uma barra de progresso, como mostrado acima.
Programa # 2
Programa Java para exibir uma barra de progresso com um rótulo.
Código:
//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);
)
)
Resultado :
Explicação: A diferença deste programa em relação ao programa acima é que, aqui, um rótulo é usado junto com a barra de progresso.
Programa # 3
Programa Java para exibir a barra de progresso com um valor específico.
Código:
//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);
)
)
Resultado :
Explicação:
- Na barra de progresso, o usuário também pode definir o valor antes da compilação do código.
- Neste programa, o valor é definido como 0, 75 e pode ser visto que a barra de progresso é exibida com 75% da barra escura.
- A parte escura implica que o progresso é de 75%.
Programa # 4
Programa Java para demonstrar a barra de progresso com um botão para procurar a barra fornecida abaixo:
Código:
//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);
)
)
Resultado :
Quando o botão é clicado, o progresso é aumentado, conforme mostrado nas figuras abaixo.
Explicação:
- Uma barra de progresso e um botão são criados primeiro.
- Quando o botão é clicado, uma ação para aumentar o progresso é definida usando um manipulador de eventos.
- Portanto, sempre que o botão é clicado, o progresso é aumentado.
Conclusão
No JavaFX, uma barra de progresso é usada para exibir o progresso de uma tarefa usando uma barra horizontal. A decisão de escolher um construtor parametrizado ou não parametrizado depende dos requisitos do usuário. Aqui, vários métodos e programas da barra de progresso JavaFX também são explicados em detalhes.
Artigos recomendados
Este é um guia para o JavaFX ProgressBar. Aqui discutimos os construtores, métodos e etapas para criar o JavaFX ProgressBar, juntamente com os vários exemplos. Você também pode consultar os seguintes artigos para saber mais -
- Objeto em Java
- Encapsulamento em JavaScript
- Palavra-chave estática em Java
- Sobrecarga e substituição em Java
- Etiqueta JavaFX
- Os 5 principais tipos de Boostrap com código de exemplo
- Como criar a caixa de seleção no JavaFX com exemplos?
- Guia de exemplos de caixa de seleção no Bootstrap
- Métodos diferentes para criar cores JavaFX
- JavaFX VBox | 15 principais métodos
- Métodos diferentes do JavaFX StackPane