Capturar texto

13 respostas
J

Gostaria de saber se alguem ja fez algo parecido:
preciso capturar em uma string o texto separado por virgula, no caso

variavel = “texto1,texto2,texto3”, isso em netbeans.

Grato

13 Respostas

manolimars

Seria isto?

String texto = "texto1,texto2,texto3";
        String dados[] = texto.split(",");
        for(int x=0; x<dados.length; x++)
        {
            System.out.println(dados[x]);
        }
deniswsrosa

Só usar StringTokenizer:
http://www.java-samples.com/showtutorial.php?tutorialid=236

E

StringTokenizer não deve ser usado, porque não trata corretamente campos vazios. Se você tentar usar StringTokenizer aqui, vai ver que ele vai pular direto de texto1 para texto3, o que nem sempre é desejável.

String texto = "texto1,,texto3";  
    String dados[] = texto.split(",");  
    for(int x=0; x<dados.length; x++)  
    {  
        System.out.println(dados[x]);  
    }
J

obrigado galera, funcionou perfeitmente.

Gostaria de pedir outra coisa.

Tenho uma JTable, mas nao queria criar no braço toda a vez que preciso atualizar registros ou inseir novos
no caso hoje, eu limpo as linhas, e recrio novamente com as atualizaçoes que teve na tabela do banco de dados.

Gostaria de saber se alguem fez algum tipo de dataset pra trabalhar com o jtable, que alimentasse conforme as atualizaçoes, sem ter que ficar recriando as linhas novamente, pois isso com uma quantidade de registros gigantes, fica inviavel.

Se alguem tiver alguma ideia de como fazer isso ou exemplo.

Grato

E

Use o Glazed Lists, http://publicobject.com/glazedlists

J

entanglement, esse site nao funciona, e pelo que eu procurei, so existe o demo dele? ou eu que nao achei o certo ainda

é um jar pra adicionar no projeto?
sabe me dizer onde posso encontrar já que o site nçao abre?

Grato

E

Desculpe, eu pus uma URL errada.

De fato, é um JAR que se adiciona ao seu projeto.

J

e vc tem por acaso tem a URL correta?

sendo um jar, já ajuda muito!

E

http://publicobject.com/glazedlists/

manolimars

Não seria mais viável o uso de um TableModel feito por voce mesmo,
pois pelo que entendi voce está utilizando o DefaultTableModel, exato??

J

pois é, eu uso hoje DefaultTableModel para poder inserir rows e deletar tbm, é simples e funcional
mas fica inviavel por uma quantidade gigante de registros, eu pelo menos nao sei como proceder usando o DefaultTableModel para que ele consiga atualizar os registros sem ter que recriar novamente todas as linhas. Pouquissima experiencia e gigante necessidade :S

Se tiveres um exemplo…

Grato

E
  1. Leia o PDF que pode ser encontrado nesse tal site (que passei a URL errada ontem. sorry. Eu corrigi a URL).
  2. Se você só precisa mostrar dados na JTable (não precisa editar em cima da JTable), é mais fácil.
  3. Basicamente, com o Glazed Lists:
    a) Você cria uma classe que contém os dados que devem ser mostrados em cada coluna. Por exemplo, digamos que você tenha uma consulta que retorne dados assim:
    nome, endereço, telefone, id do cliente. O ID do cliente é único, nesse caso.
    Crie uma classe Cliente que seja assim:
class Cliente implements Comparable<Cliente> {
    private String nome; private String endereco; private String telefone; private Long id;
    public Cliente (String nome, String endereco, String telefone, Long id) {
        this.nome = nome; this.endereco = endereco; this.telefone = telefone; this.id = id;
    }
    .... ponha aqui os setters e getters, a sua IDE pode gerá-los para você ....
}

Aí você cria a sua lista de clientes, a ser visualizada na tabela:

SortedList<Cliente> clientes = new SortedList<Cliente> (new BasicEventList<Cliente>());

Da sua lista de clientes, você cria o “modelo”:

EventTableModel<Cliente> clientesModel  = new EventTableModel<Cliente> (clientes);

E então associa esse TableModel à sua JTable:

JTable tabelaClientes = new JTable (clientesModel);

Para permitir a ordenação clicando sobre a coluna, use:

TableComparatorChooser sorter = TableComparatorChooser.install(tabelaClientes, clientes, TableComparatorChooser.SINGLE_COLUMN);

Para adicionar um novo registro à JTable, simplesmente adicione um novo Cliente à lista de clientes:

clientes.add (new Cliente (......));

A modificação é feita sozinha.
Para modificar um registro que já está na JTable, você deve dar um set (porque senão a tabela não sabe que o registro foi modificado).
Digamos que o registro a ser alterado esteja na linha 10. Então:

Cliente cli = clientes.get(10);
cli.setNome ("Aparecida"); // alterei o nome do cliente
clientes.set (10, cli); // indico à tabela que o registro foi alterado

Para deletar um registro da JTable, basta deletá-lo da lista de clientes, com remove, tal como você faria em um ArrayList normal.

E

Para mais detalhes , consulte o PDF.

Criado 7 de julho de 2010
Ultima resposta 8 de jul. de 2010
Respostas 13
Participantes 4