Apresento aqui um bom exemplo
de como remover vários elementos
de uma só vez de um ArrayList.
Estes elementos inteiros são escolhidos
por um combox, de onde parte primeiramente
o total de elementos a serem removidos.
Passamos dois ArrayList como parâmetros
para os métodos Array_1 ( arr, list ); e Inf_quant ( arr, list );
sendo um carregado com elementos inteiros entre 0 e 100,
e o outro vazio.
No vazio será preenchido os elementos que serão
removidos no ArrayList carregado.
Teste isto agora mesmo e veja como foi feito.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
de como remover vários elementos
de uma só vez de um ArrayList.
Estes elementos inteiros são escolhidos
por um combox, de onde parte primeiramente
o total de elementos a serem removidos.
Passamos dois ArrayList como parâmetros
para os métodos Array_1 ( arr, list ); e Inf_quant ( arr, list );
sendo um carregado com elementos inteiros entre 0 e 100,
e o outro vazio.
No vazio será preenchido os elementos que serão
removidos no ArrayList carregado.
Teste isto agora mesmo e veja como foi feito.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
import java.util.ArrayList;
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, 390 );
static GraphicsContext ctx = canvas.getGraphicsContext2D
( );
static Pane ro_ot = new Pane ( );
static Scene sce_ne = new Scene ( ro_ot, 620, 390 );
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, 322 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Samuel
Lima", 240, 322 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "sa_sp10@hotmail.com", 200, 340 );
ctx.setFill ( Color.RED );
ctx.fillText ( " MUITO
OBRIGADO", 250, 360 );
}
//
////////////////////////////////////////////////////////////////////////
public static int Inf_quant ( ArrayList < Integer > arr, ArrayList < Integer > list ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
int i;
String str = " ";
String str1 = " ";
k++;
//Coluna, linha, comprimento, altura
ctx.clearRect ( 180, 60, 400, 250 );
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 );
list.add ( fim );
if ( k == tam + 2 ) {
ctx.clearRect ( 180, 70, 400, 20 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Elementos que
foram removidos do ArrayList", 200, 60 );
for ( i = 1; i < tam + 2; i++ ) {
System.out.printf ( "%3d", list.get ( i ) );
str1 += list.get ( i ) + "\t";
}
ctx.setFill ( Color.RED );
ctx.fillText ( str1, 180, 80 );
for ( i = 1; i < tam + 2; i++ ) {
arr.remove ( list.get ( i ) );
}
for ( i = 0; i < arr.size ( ); i++ ) {
if ( arr.get ( i ) % 10 == 0 ) {
str += "\n";
}
if ( arr.get ( i ) >= 0 && arr.get ( i ) <= 9 ){
str += "0";
}
str += arr.get ( i ) + " ";
}
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Abaixo os
elementos que ficaram", 200, 100 );
ctx.setFill ( Color.RED );
ctx.fillText ( str, 180, 130 );
Informe ( );
}
return 0;
}
//
////////////////////////////////////////////////////////////////////////
@SuppressWarnings ( "unchecked" )
public static int Array_1 ( ArrayList < Integer > arr, ArrayList < Integer > list ) {
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 ( );
fim = fim + 1;
}
Inf_quant ( arr, list );
}
} );
grid.add ( cb, 1, 1 );
return 0;
}
//
////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) {
ArrayList < Integer > arr = new ArrayList < > ( );
ArrayList < Integer > list = new ArrayList < > ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
stage.setTitle ( "JAVAFX -
REMOVENDO ELEMENTOS NUM ARRAYLIST" );
//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: blue;"
+ "-fx-background:
#F5F5DC;");
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
REMOVENDO ELEMENTOS NUM ARRAYLIST", 140, 40 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Escolha no
combox o total de elementos", 190, 70 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "que deseja
remover no ArrayList", 190, 90 );
int i;
String str = " ";
//Preenchendo o ArrayList com laço for
for ( i = 1; i < 101; i++ ) {
arr.add ( i );
}
for ( i = 0; i < arr.size ( ); i++ ) {
if ( i % 10 == 0 ) {
str += "\n";
}
if ( i >= 0 && i < 9 ){
str += "0";
}
str += arr.get ( i ) + " ";
}
ctx.setFill ( Color.RED );
ctx.fillText ( str, 180, 100 );
Array_1 ( arr, list );
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 );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.