Introdução ao botão de opção JavaFX

O pacote JavaFX contém botões de opção que visam criar uma série de itens em que apenas um item pode ser selecionado por vez. É quase semelhante ao botão de alternância no JavaFX, exceto que não pode ser desmarcado depois que alguém é selecionado. O funcionamento do botão de opção é de maneira que, uma vez pressionado e liberado, um evento de ação será enviado, que pode ser tratado com a ajuda de um manipulador de eventos. Como esse botão não está em nenhum grupo de alternância, ele deve ser adicionado a qualquer um dos grupos de alternância para definir a funcionalidade de que o usuário não deve escolher mais de 1 item por vez.

Construtores do botão de opção JavaFX

RadioButton no pacote JavaFX está na classe javafx.scene.control.RadioButton.

Existem dois construtores para JavaFX.

1. RadioButton ()

Um botão de opção será criado com uma sequência vazia para seu rótulo.

// create a radiobutton
RadioButton rb = new RadioButton();

2. RadioButton (Strings)

Um botão de opção será criado com uma string s como seu rótulo.

// create a radiobutton
RadioButton rb = new RadioButton(" A ");

Métodos do botão de opção JavaFX

5 métodos do JavaFX Radio Button são mencionados abaixo:

1. getText ():

O rótulo de texto para o botão de opção JavaFX será retornado.

2. isSelected ():

Retorna se o botão de opção é escolhido ou não.

3. fogo ():

O estado do botão será retornado se não estiver relacionado a nenhum ToggleGroup ou se não estiver selecionado.

4. setSelected ( booleano v ):

Define se o botão de opção é escolhido ou não.

5. setToggleGroup ( ToggleGroup g ):

O grupo de alternância do botão de opção será definido.

Como criar um RadioButton?

Existem várias etapas para criar um RadioButton.

1. Defina o título para o estágio criado

s.setTitle("Radio Button Sample");

2. Crie uma caixa de seleção

Para criar uma caixa de seleção, a seguinte sintaxe pode ser usada.

RadioButton RB = new RadioButton (" Both happy and sad ");

Se um construtor padrão for necessário, a seguinte sintaxe poderá ser usada.

RadioButton RB = new RadioButton ();

3. Crie a caixa horizontal

Dois tipos de caixas estão disponíveis: caixa vertical e caixa horizontal.

Nesta etapa, crie uma caixa horizontal da seguinte maneira.

HBox HB = new HBox (RB);

4. Adicione a caixa de seleção criada ao gráfico de cena

Após a criação da HBox, adicione a caixa de seleção ao gráfico da cena usando as etapas abaixo.

//create a scene
Scene sc = new Scene(hb, 300, 200);
//set the scene
s.setScene(sc);
//displays the result
s.show();

Programa para implementar o botão de opção JavaFX

Agora, vamos ver alguns dos programas JavaFX que implementam o botão de opção.

Programa # 1

Programa Java para exibir um botão de opção

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
import javafx.scene.control.RadioButton;
//sample class that extends the application
public class JavaFXRadioButtonExample extends Application (
//starting of the application
@Override
public void start(Stage s) (
//setting title for the stage
s.setTitle("Radio Button Sample");
//creation of radio butto
RadioButton rb = new RadioButton("Both A and B");
//Creation of horizontal box
HBox hbox = new HBox(rb);
//scene creation
Scene sc = new Scene(hbox, 250, 100);
//setting the scene
s.setScene(sc);
//displaying th result
s.show();
)
public static void main(String() args) (
Application.launch(args);
)
)

Resultado:

Se o botão for selecionado, o resultado será como exibido abaixo.

Explicação:
  • Aqui, 1 botão de opção "Ambos A e B" está presente.
  • A cena é criada e adicionada ao Scenegraph.
  • Por fim, os resultados serão exibidos.
  • Ou seja, um ponto preto estará presente no botão se estiver selecionado.

Programa # 2

Programa Java para exibir vários botões de opção

import javafx.application.Application;
import javafx.scene.control.RadioButton;
import javafx.scene.layout.VBox;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.ToggleGroup;
//sample class
public class JavaFXRadioButtonExample extends Application (
public static void main(String() args) (
launch(args);
)
//starting of an application
@Override
public void start(Stage s) (
//create a toggle group
ToggleGroup gp = new ToggleGroup();
//create radiobuttons
RadioButton b1 = new RadioButton("Happy");
RadioButton b2 = new RadioButton("Sad");
RadioButton b3 = new RadioButton("Angry");
RadioButton b4 = new RadioButton("Mixed Emotion");
RadioButton b5 = new RadioButton("None of the above");
b1.setToggleGroup(gp);
b2.setToggleGroup(gp);
b3.setToggleGroup(gp);
b4.setToggleGroup(gp);
b5.setToggleGroup(gp);
//create vertical box
VBox vb=new VBox();
vb.setSpacing(10);
vb.getChildren().addAll(b1, b2, b3, b4, b5);
//create scene
Scene sc=new Scene(vb, 400, 300);
//set the scene and add it to the scene graph
s.setScene(sc);
s.setTitle("Radio Button Sample");
s.show();
)
)

Resultado:

Explicação:
  • Mesmo que cinco botões de opção estejam presentes, como Feliz, Triste, Irritado, Emoção mista e Nenhuma das opções acima, apenas um pode ser selecionado ao mesmo tempo.
  • Depois que os botões de opção são criados, o Scene é criado e adicionado ao Scenegraph.
  • Por fim, os resultados serão exibidos.

Programa # 3

Programa Java para exibir vários botões de opção

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.layout.*;
import javafx.event.EventHandler;import javafx.scene.control.*;
//sample class
public class JavaFXRadioButtonExample extends Application (
// application launches here
public void start(Stage s)
(
// Title for the stage is set
s.setTitle("CheckBox iks created")
// label is created
Label lb1 = new Label("Radiobutton example ");
// toggle group is created
ToggleGroup tgp = new ToggleGroup();
String strng1 = "Happy";
String strng2 = "Sad";
String strng3 = "No emotions";
// radiobuttons is created
RadioButton rb1 = new RadioButton(strng1);
RadioButton rb2 = new RadioButton(strng2);
RadioButton rb3 = new RadioButton(strng3);
// add radiobuttons
rb1.setToggleGroup(tgp);
rb2.setToggleGroup(tgp);
rb3.setToggleGroup(tgp);
//create the vertical box
VBox vb=new VBox();
vb.getChildren().add(lb1);
vb.getChildren().add(rb1);
vb.getChildren().add(rb2);
vb.getChildren().add(rb3);
vb.setSpacing(10);
// vb.getChildren().addAll(rb1, rb2, rb3);
// Scene creation and adding it to the scene graph
Scene sc = new Scene(vb, 150, 200);
s.setScene(sc);
s.show();
)
public static void main(String args())
(
// launch the application
launch(args);
)
)

Resultado:

Explicação:
  • Neste exemplo, 3 botões de opção estão presentes.
  • Diferente do exemplo 2, aqui, em vez do método addAll (), o método add () é usado.
  • Em seguida, a cena é criada e adicionada ao Scenegraph.
  • Por fim, os resultados serão exibidos.

Conclusão

No JavaFX, para selecionar apenas uma opção naquele momento, os Botões de Rádio são usados. Somente se for adicionado a qualquer grupo de alternância, é possível. Sintaxe, construtores, métodos e criação de botões de rádio JavaFX são explicados neste documento em detalhes.

Artigos recomendados

Este é um guia para um botão de opção JavaFX. Aqui discutimos a introdução, Métodos do botão de opção JavaFX, Como criar um RadioButton e um programa para implementar. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Inserção Ordenar em JavaScript
  2. Sobrecarga e substituição em Java
  3. Palavra-chave estática em Java
  4. JFileChooser em Java
  5. Como criar a caixa de seleção no JavaFX com exemplos?
  6. Exemplos para implementar a caixa de seleção no Bootstrap
  7. JavaFX Color | Métodos para criar cores JavaFX
  8. JavaFX VBox | Métodos Código de amostra