"Escolha no combox o total de números
que deseja inserir no array".
Feito isto, agora é só escolher entre
os 100 números inseridos no combox quais
serão inseridos no Array de inteiros.
A inicialização deste combox é mais
avançada que o outro que postei a poucos
dias atrás.
No outro inicializamos como num ArrayList
de Strings, e neste iniciamos o combox
por um contador do while.
Detalhar o funcionamento deste programa
foge as regras do tópico, portanto o leitor
deverá comprovar seu desempenho por si próprio.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.geometry.Insets;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
public class PROJETO extends Application {
static int k = 0, l = 0;
public static int TAM = 100, fim, tam = 0;
static Canvas canvas = new Canvas ( 620, 350 );
static GraphicsContext ctx = canvas.getGraphicsContext2D ( );
static Pane ro_ot = new Pane ( );
static Scene sce_ne = new Scene ( ro_ot, 620, 350 );
static Button btn_1 = new Button ( "TECLE
ENTER" );
@SuppressWarnings ( "rawtypes" )
static final ComboBox cb = new ComboBox ( );
static GridPane grid = new GridPane ( );
static Boolean y = false;
///////////////////////////////////////////////////////////////////////////
public static void Informe ( ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "Por: ", 200, 242 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Samuel
Lima", 240, 242 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "sa_sp10@hotmail.com", 200, 260 );
ctx.setFill ( Color.RED );
ctx.fillText ( " MUITO
OBRIGADO", 250, 320 );
}
//
////////////////////////////////////////////////////////////////////////
public static int Inf_quant ( int vet [ ] ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
int a = 0, i;
StringBuilder st = new StringBuilder ( );
k++;
int [ ] Vetor = new int [ tam + 2 ];
for ( i = 1; i < tam + 2; i++ ) {
Vetor [ i ] = ' ';
}
ctx.clearRect ( 180, 70, 200, 20 );
ctx.clearRect ( 240, 70, 20, 20 );
ctx.clearRect ( 260, 70, 200, 20 );
ctx.clearRect ( 180, 70, 400, 20 );
ctx.clearRect ( 180, 90, 400, 20 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Insira o
", 190, 80 );
ctx.setFill ( Color.RED );
ctx.fillText ( " " + ( k ) + " º", 240, 80 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "número", 275, 80 );
vet [ k ] = fim;
st.append ( vet [ k ] );
for ( i = 1; i <= tam + 2; i++ ) {
Vetor [ a ] = vet [ i ];
a++;
}
if ( k == tam + 2 ) {
st = new StringBuilder ( );
ctx.clearRect ( 180, 70, 400, 20 );
for ( i = 1; i < tam + 2; i++ ) {
if ( Vetor [ i ] != ' ' )
if ( Vetor [ i ] % 10 == 0 )
st.append ("\n");
if ( Vetor [ i ] >= 0 && Vetor [ i ] <= 9 )
st.append ( "0" );
System.out.printf ( "%3d", Vetor [ i ] );
st.append ( Vetor [ i ] + "\t");
}
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Veja abaixo o
array preenchido", 220, 80 );
ctx.setFill ( Color.RED );
ctx.fillText ( " " + st, 160, 110 );
Informe ( );
}
return 0;
}
//
////////////////////////////////////////////////////////////////////////
@SuppressWarnings ( "unchecked" )
public static int Array_1 ( int vet [ ] ) {
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;" );
int i = 0;
do {
i++;
//total de linhas visíveis
cb.setVisibleRowCount ( 10 );
cb.getItems ( ).addAll ( i );
} while ( i <= TAM );
cb.getSelectionModel ( ).selectedIndexProperty ( )
.addListener ( new ChangeListener < Number > ( ) {
@SuppressWarnings ( "rawtypes" )
public void changed ( ObservableValue ov, Number value,
Number new_value ) {
if ( y == false ) {
tam = new_value.intValue ( );
y = true;
}
if ( y == true ) {
fim = new_value.intValue ( );
}
Inf_quant ( vet );
}
} );
grid.add ( cb, 1, 1 );
return 0;
}
//
////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
stage.setTitle ( "JAVAFX -
PREENCHENDO UM ARRAY COM COMBOX" );
//Criando moldura e dando efeitos
ro_ot.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
12;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: black;" );
ctx.setFill ( Color.RED );
ctx.fillText ( "PREENCHENDO
UM ARRAY COM COMBOX", 150, 50 );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
int [ ] vet = new int [ TAM ];
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Escolha no
combox o total de números", 190, 80 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "que deseja
inserir no array", 190, 100 );
Array_1 ( vet );
grid.setPadding ( new Insets ( 15, 15, 60, 15 ) );
ro_ot.getChildren ( ).addAll ( canvas );
ro_ot.getChildren ( ).addAll ( grid );
stage.setScene ( sce_ne );
stage.show ( );
}
//
////////////////////////////////////////////////////////////////////////
public static void main ( String [ ] args ) {
Application.launch ( args );
}
}