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 -

  1. Objeto em Java
  2. Encapsulamento em JavaScript
  3. Palavra-chave estática em Java
  4. Sobrecarga e substituição em Java
  5. Etiqueta JavaFX
  6. Os 5 principais tipos de Boostrap com código de exemplo
  7. Como criar a caixa de seleção no JavaFX com exemplos?
  8. Guia de exemplos de caixa de seleção no Bootstrap
  9. Métodos diferentes para criar cores JavaFX
  10. JavaFX VBox | 15 principais métodos
  11. Métodos diferentes do JavaFX StackPane