Um objeto ListView apresenta ao usuário
uma lista
de rolagem de itens de texto, estas rolagens podem
ser orientadas horizontalmente ou verticalmente
como é nosso caso.
Apresento aqui um exemplo de como obter
cada item do ListView individualmente.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
de rolagem de itens de texto, estas rolagens podem
ser orientadas horizontalmente ou verticalmente
como é nosso caso.
Apresento aqui um exemplo de como obter
cada item do ListView individualmente.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.ListView;
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;
public class PROJETO extends Application {
static int i;
static String str = "";
static String str1 = "";
static String [ ] st = { "Um", "Dois", "Tres", "Quatro", "Cinco", "Seis",
"Sete", "Oito", "Nove", "Dez", "Onze", "Doze", "Viva_Java" };
static ObservableList < String > numeros_1 = FXCollections
.observableArrayList ( st );
static ListView < String > numListView_1 = new ListView <> ( numeros_1 );
static Pane root = new Pane ( );
static Canvas canvas = new Canvas ( 620, 350 );
static GraphicsContext ctx = canvas.getGraphicsContext2D
( );
static Scene scene = new Scene ( root, 620, 350, Color.WHITE );
static GridPane grid_1 = new GridPane ( );
//
/////////////////////////////////////////////////////////////////////////
public static void List_View_1 ( ) {
numListView_1.getSelectionModel ( ).selectedIndexProperty
( )
.addListener ( new ChangeListener < Number > ( ) {
@SuppressWarnings ( "rawtypes" )
public void changed ( ObservableValue ov, Number value,
Number new_value ) {
str = st [ new_value.intValue ( ) ];
str1 = "";
// Coluna, linha,
comprimento, altura
ctx.clearRect ( 270, 100, 400, 50 );
ctx.clearRect ( 270, 130, 500, 50 );
ctx.clearRect ( 270, 160, 500, 50 );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL,15 ) );
i = new_value.intValue ( );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Palavra =>
", 290, 120 );
ctx.setFill ( Color.RED );
ctx.fillText ( " " + str, 370, 120 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Abaixo a
string indexada", 290, 150 );
ctx.setFill ( Color.RED );
for ( i = 0; i < str.length ( ); ++i ) {
char c = str.charAt ( i );
str1 += c + " ";
}
int quant = 0;
for ( int i = 0; i < str.length ( ); i++ )
if ( str.charAt ( i ) != ' ' )
quant++;
ctx.setFill ( Color.RED );
ctx.fillText ( str1, 290, 180 );
System.out.println ( quant );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "A string tem
", 290, 210 );
ctx.setFill ( Color.RED );
ctx.fillText ( " " + quant, 375, 210 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "caracteres", 395, 210 );
}
} );
grid_1.setHgap ( 10 );
grid_1.setVgap ( 50 );
grid_1.setPadding ( new Insets ( 5 ) );
//Largura máximo do ListView
numListView_1.setPrefWidth ( 200 );
//Altura máxima do ListView
numListView_1.setPrefHeight ( 120 );
numListView_1.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
2;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: red;" );
grid_1.add ( numListView_1, 5, 2 );
root.getChildren ( ).add ( grid_1 );
}
//
/////////////////////////////////////////////////////////////////////////
@Override
public void start ( Stage stage ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
stage.setTitle ( "JAVAFX -
OBTENDO VALORES EM LISTVIEW" );
//Criando moldura e dando efeitos
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
12;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: red;" );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
OBTENDO VALORES EM LISTVIEW", 140, 50 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Escolha uma
palavra no listview", 190, 80 );
root.getChildren ( ).addAll ( canvas );
List_View_1 ( );
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.