Nós podemos definir nossos próprios tipos de dados
( que são tipos de dados enumerados neste caso )
Também podemos adicionar variáveis, métodos e construtores.
Representar um grupo de constantes nomeadas
é a principal característica do enum no java,
por isto seu uso é recomendado quando se pretende
enumerar tipos naturais quando conhecemos os valores
possíveis a serem utilizados, aqui cito alguns como:
dias, semanas, meses, anos. coleções, direções,
constelações planetárias e etc..
Um programador de java pode usar o enum para criar
seu próprios menus isto é natural e recomendado.
A declaração do enum pode ser feita fora de uma Classe
ou dentro de uma Classe, mas não dentro de um Método,
eis aqui um bom exemplo de como usar o enum do java
numa bela interface do javafx.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
( que são tipos de dados enumerados neste caso )
Também podemos adicionar variáveis, métodos e construtores.
Representar um grupo de constantes nomeadas
é a principal característica do enum no java,
por isto seu uso é recomendado quando se pretende
enumerar tipos naturais quando conhecemos os valores
possíveis a serem utilizados, aqui cito alguns como:
dias, semanas, meses, anos. coleções, direções,
constelações planetárias e etc..
Um programador de java pode usar o enum para criar
seu próprios menus isto é natural e recomendado.
A declaração do enum pode ser feita fora de uma Classe
ou dentro de uma Classe, mas não dentro de um Método,
eis aqui um bom exemplo de como usar o enum do java
numa bela interface do javafx.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
enum Frutas_preferidas {
MAMÃO_PAPAIA, CAQUI_CHOCOLATE, MANGA_ROSA,
COCO_VERDE, LARANJA_LIMA, FRUTA_DO_CONDE
};
public class PROJETO extends Application {
static Canvas canvas = new Canvas ( 600, 340 );
static GraphicsContext ctx = canvas.getGraphicsContext2D
( );
static Pane root = new Pane ( );
static Scene scene = new Scene ( root, 600, 340 );
static GridPane grid = new GridPane ( );
static Button btn_1 = new Button ( "FECHAR" );
final static ChoiceBox < String > cb = new ChoiceBox < String > (
FXCollections.observableArrayList (
"MAMÃO_PAPAIA", "CAQUI_CHOCOLATE",
"MANGA_ROSA", "COCO_VERDE", "LARANJA_LIMA",
"FRUTA_DO_CONDE" ) );
//
/////////////////////////////////////////////////////////////////////////
public static Node Sair ( ) {
btn_1.setPrefWidth ( 100 );// Largura do botão
btn_1.setLayoutX ( 267 );// Posição do botão
coluna
btn_1.setPrefHeight ( 20 );// altura do botão
btn_1.setLayoutY ( 300 );// //Posição do botão
linha
btn_1.setStyle ( "-fx-padding:
1;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
2;" + "-fx-border-insets: 1;"
+ "-fx-border-radius:
1;" + "-fx-border-color: red;"
+ "-fx-font-style:
italic;" + "-fx-font-family: Consolas;" );
btn_1.setOnKeyPressed ( e -> {
if ( e.getCode ( ) == KeyCode.ENTER ) {
System.exit ( 0 );
}
} );
return btn_1;
}
//
/////////////////////////////////////////////////////////////////////////
public static void Choice_box ( ) {
cb.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
2;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: black;" );
cb.getSelectionModel ( ).selectedIndexProperty
( )
.addListener ( new ChangeListener < Number > ( ) {
public void changed ( ObservableValue ov, Number value,
Number new_value ) {
System.out.println ( new_value.intValue ( ) );
StringBuilder str = new StringBuilder ( );
//Coluna, linha,
comprimento, altura
ctx.clearRect ( 170, 100, 400, 50 );
ctx.clearRect ( 170, 130, 400, 50 );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 14 ) );
switch ( new_value.intValue ( ) ) {
case 0:
str.append ( Frutas_preferidas.MAMÃO_PAPAIA );
break;
case 1:
str.append ( Frutas_preferidas.CAQUI_CHOCOLATE );
break;
case 2:
str.append ( Frutas_preferidas.MANGA_ROSA );
break;
case 3:
str.append ( Frutas_preferidas.COCO_VERDE );
break;
case 4:
str.append ( Frutas_preferidas.LARANJA_LIMA );
break;
default:
str.append ( "Não entendi
qual é sua fruta preferida" );
//Coluna, linha,
comprimento, altura
ctx.clearRect ( 170, 100, 400, 50 );
break;
}
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Sua fruta
preferida é: ", 180, 110 );
ctx.setFill ( Color.RED );
ctx.fillText ( " " + str, 180, 140 );
}
} );
grid.add ( cb, 1, 1 );
}
//
/////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) {
stage.setTitle ( "JAVAFX -
CHAMANDO ENUM EM CHOICEBOX" );
// Criando moldura e dando efeitos
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
10;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: pink;" );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
CHAMANDO ENUM EM CHOICEBOX", 200, 50 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Escolha no
choicebox sua fruta preferida", 190, 80 );
Choice_box ( );
Sair ( );
grid.setPadding ( new Insets ( 15, 15, 60, 15 ) );
root.getChildren ( ).addAll ( canvas, btn_1 );
root.getChildren ( ).addAll ( grid );
stage.setScene ( scene );
stage.show ( );
}
//
/////////////////////////////////////////////////////////////////////////
public static void main ( String [ ] args ) {
launch ( args );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.