Vector e Jogar os elementos numa JTextArea e JTextField

9 respostas
Heero

como que eu faço pra jogar os elementos de um vector por exemplo da celula (0), jogar (nome, senha, titulo(soh tem esses tres)) numa jTextArea???
e tbm para ir jogando todos os elementos de todas as celulas do vetor numa jtextarea???

como que eu faço pra jogar os elementos de um vector por exemplo da celula (0), jogar (somente o nome) (nome, senha, titulo(soh tem esses tres)) numa jTextField???

9 Respostas

E

Bom…vc pode usar os métodos bem básicos dessas classes que vc citou, como getElementAt (Vector), setText e getText (JTextField e JTextArea) e append (JTextArea)

Sugiro que vc dê uma olhada na documentação dessas classes:

http://java.sun.com/j2se/1.4.1/docs/api/java/util/Vector.html
http://java.sun.com/j2se/1.4.1/docs/api/javax/swing/JTextField.html
http://java.sun.com/j2se/1.4.1/docs/api/javax/swing/JTextArea.html

Heero

eh concordo com sua resposta…
jah estudei as classes separadas porem eu queria saber a interassão, jah tem mil coisas e nenhuma me tras um resultado…
não saberia em materia de codigo? pq tah dificil…

black_fire

:?: Kra, não entndi direito o que vc quer fazer :!:
Você tem três campos e quer jogar eles em um Vector e depois o Vector em um JTextArea ou você quer jogar cada campo em um JTextField e depois tudo em um JTextArea?
Dava pra dar uma clareada… :wink:

Um abraço

marciolx

“Heero”:
eh concordo com sua resposta…
jah estudei as classes separadas porem eu queria saber a interassão, jah tem mil coisas e nenhuma me tras um resultado…
não saberia em materia de codigo? pq tah dificil…

juntando um pouco as “coisas”

exemplo de como “percorrer” um Vector:

List v = new Vector();
		v.add("teste 1");
		v.add("teste 2");
		v.add("teste 3");
		Iterator i = v.iterator();
		while (i.hasNext()) {
			System.out.println(i.next());
		}
E

Bom…fiz um exemplinho idiota e tá aí:

class Cliente {
	public String nome;
	public int    idade;

	public Cliente (String nome, int idade) {
		this.nome = nome;
		this.idade = idade;
	}
}

// Cria cliente e o adiciona ao Vector...
Cliente c = new Cliente("iaba",10);


// chega a parte da lista:
Vector clientes = new Vector();

clientes.addElement(c);

/*
 * (...)
 */

/* pegar o quarto cliente e colocá-lo na interface: (assumindo que cx_nome e cx_idade sejam JTextField's)*/
Cliente c4 = (Cliente) clientes.elementAt(3); // inserção começa na posição 0

cx_nome.setText(c4.nome);
cx_idade.setText(c4.idade);

Acho que vc podia dar uma estudada em algum livro legal pra quem tá começando, como o Core Java2 (volume 1 para o básico, 2 para avançado - os dois MUITO bons) ou aquele das formiguinhas (me disseram que ele assume que vc é realmente idiota e que tentar lê-lo é um saco, mas… :roll: )

De qualquer modo, espero ter te ajudado

Heero

valeu pela ajuda deu pra ajudar bastante…
acho q ficou meio confusa mesmo a minha pergunta…
eh o seguinte vector tava tranquilo, o lance era jogar cada nodo do vector num jtextArea, entende? tipo assim jogar nome, salario, endereço (q estão num nodo) pra uma jtextarea, tudo de uma vez…
Valeu q agora deu pra fragar como q faz por estapas, tipo soh jogar o nome, …
mas com todos de uma vez eu ainda estou com duvida, numa jtextarea, ???fica valendo tbm a pegunta acima

Valews!

E

No JTextArea vc tem o método append, que não substitui o texto que já está lá, mas apenas coloca o que vc pediu pra “apendar” ao final do existente…como eu disse, com um bom livrinho e uma olhadela na documentação da API vc descobre tudo :wink:

t+

black_fire

kra fiz uns testes aki, acho que é isso
mas como o escordeiro disse:

Tudo que eu fiz em o JtextArea vc pode fazer com o JTextField, é só mudar o apend() pelo setText().
Um abraço

/* 
********* ARQUIVO Heero.java ***********
Autor: Rodrigo G. Tavares de Souza
***************************************
*/


import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

/*
 *  Esta classe está extendento o JFrame
 * 	para o exibir um formulário
 */ 
public class Heero extends JFrame {

	// Vetor onde será armazenado os dados do cliente
	private Vector vectorCliente;
	
	/* ****************************
	 * Declaraçào dos componentes 
	 * do form
	 * ****************************/
	private JPanel jPanel1;
	private JLabel jLabel1;
	private JTextField jtextField1;
		
	private JPanel jPanel2;
	private JLabel jLabel2;
	private JTextField jtextField2;
		
	private JPanel jPanel3;
	private JLabel jLabel3;
		
	private JPanel jPanel4;
	private JTextArea jTextArea1;
	private JScrollPane jscrollPane1;
		
	private JPanel jPanel5;	
	private JLabel jLabel4;
	private JLabel jLabel5;
	
	private JPanel jPanel6;	
	private JButton jButton1;
	private JButton jButton2;	
	
	
	public static void main(String[] args) {
		// Inicializa o formulario
		Heero app = new Heero();
		// Atribui um tamanho
		app.setSize(400,400);
		// Proibe que o forumulário seja redimensionado
		app.setResizable(false);
		// Exibe o formulário
		app.show();
	}
	
	public Heero() {
		// Inicializa o vetor de cadastro
		vectorCliente = new Vector();
		
		/*
		 * *********** INICIALIZAÇÃO DOS COMPONENTES ***********  
		 */
		jPanel1 = new JPanel(new FlowLayout(FlowLayout.LEFT));
		jLabel1 = new JLabel("Nome");
		jtextField1 = new JTextField(20);
		
		jPanel1.add(jLabel1);
		jPanel1.add(jtextField1);
		
		
		jPanel2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
		jLabel2 = new JLabel("CPF");
		jtextField2 = new JTextField(20);
		
		jPanel2.add(jLabel2);
		jPanel2.add(jtextField2);
		
		jPanel3 = new JPanel(new FlowLayout(FlowLayout.LEFT));
		jLabel3 = new JLabel("Lista de Cadastrados");
		jPanel3.add(jLabel3);
		
		jPanel4 = new JPanel(new FlowLayout(FlowLayout.LEFT));
		jTextArea1 = new JTextArea(15,50);
		jTextArea1.setEditable(false);
		jTextArea1.setFont(new Font("Courier New", 0, 12));
		jscrollPane1 = new JScrollPane(jTextArea1);
		jPanel4.add(jscrollPane1);
		
		jPanel5 = new JPanel(new FlowLayout(FlowLayout.LEFT));
		jLabel4 = new JLabel("Registros Cadastrados: ");
		jLabel5 = new JLabel("0");
		
		jPanel5.add(jLabel4);
		jPanel5.add(jLabel5);		
		
		jPanel6 = new JPanel(new GridLayout(1,2));		
		jButton1 = new JButton("Cadastrar");
		jButton2 = new JButton("Listar Cadastrados");

		// Aciona um evento para o botão 1
		jButton1.addActionListener(
			new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					jButton1Click(evt);
				}
			}
		);
		
		// Aciona um evento para o botão 2
		jButton2.addActionListener(
			new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					jButton2Click(evt);
				}
			}
		);

		jPanel6.add(jButton1);
		jPanel6.add(jButton2);
		
		// **************** FIM DA INICIALIZAÇÃO DOS COMPONENTES ****************  
		
		// Cria um novo gerenciador de layouts
		GridBagLayout g;
		GridBagConstraints gc;
		g = new GridBagLayout();				
		
		// Atribui o gerenciador ao JFrame
		getContentPane().setLayout(g);

		/*
		 * 	INICIA O POSICIONAMENTO DOS COMPONENTES NO FRAME
		 */
		gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;
		getContentPane().add(jPanel1,gc);
		
		// Atribui o gerenciador de layout no JFrame
		gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;

		gc.gridx = 0;
		gc.gridy = 1;
		getContentPane().add(jPanel2,gc);
		
		gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;
		gc.gridx = 0;
		gc.gridy = 2;
		getContentPane().add(jPanel3,gc);
		
		gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;
		gc.gridx = 0;
		gc.gridy = 3;
		getContentPane().add(jPanel4,gc);
		
		gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;
		gc.gridx = 0;
		gc.gridy = 4;
		getContentPane().add(jPanel5,gc);
		
		gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;
		gc.gridx = 0;
		gc.gridy = 5;
		getContentPane().add(jPanel6,gc);
		
		// **************** FIM DO POSICIONAMENTO DOS COMPONENTES ****************
		
		// Adiciona um evento para quando o jframe for fechado
		addWindowListener(
			new WindowAdapter() {
				public void windowClosing(WindowEvent evt) {
					exitForm(evt);
				}
			}
		);
		
	}
	
	private void exitForm(WindowEvent evt) {
		// Finaliza a aplicação quando o evento for disparado
		System.exit(0);
	}
	
	// Verifica se os campos foram preenchidos corretamente
	public boolean validarCadastro() {
		if (jtextField1.getText().trim().equals("")) {
			// Exibe uma msg se o nome não foi preenchido
			JOptionPane.showMessageDialog(
				null,
				"Informe um NOME válido",
				"Validção",
				JOptionPane.WARNING_MESSAGE
			);
			
			return false;
		} else if (jtextField2.getText().trim().equals("")) {
			// Exibe uma msg se o cpf não foi preenchido
			JOptionPane.showMessageDialog(
				null,
				"Informe um CPF válido",
				"Validção",
				JOptionPane.WARNING_MESSAGE
			);
			return false;
		} else return true; 
	}
	
	// Evento do botão 1
	private void jButton1Click(ActionEvent evt) {
		if (validarCadastro()) {
			// Inicializa o metodo construtor da classe Cliente
			Cliente c = new Cliente(jtextField1.getText(), jtextField2.getText());
			// Adiciona o objeto c no vetor
			vectorCliente.addElement(c);
			// Computa a quantidade de itens já cadastrados
			jLabel5.setText(String.valueOf(vectorCliente.size()));
			// Exibe uma msg de sucesso..
			JOptionPane.showMessageDialog(null,"Cliente cadastrado");
		}
	}
	
	//	Evento do botão 1
	private void jButton2Click(ActionEvent evt) {
		// verifica se há clientes cadastrados
		if (vectorCliente.size() > 0) {
			// Inicia um looping exibindo todos os clientes no JTextField
			for (int i = 0; i < vectorCliente.size(); i++) {
				Cliente c = (Cliente) vectorCliente.elementAt(i);
				jTextArea1.append(c.nome+" - "+c.CPF+"\n");				 
			}
			JOptionPane.showMessageDialog(null,"Fim da listagem");
		}
		else {
			JOptionPane.showMessageDialog(null,"Não há dados cadastrados!");
		}
	}
	
	// Classe onde serão guardados os dados do cliente. 
	private class Cliente {
		private String nome;
		private String CPF;
		
		public Cliente(String nome, String CPF) {
			this.nome = nome;
			this.CPF = CPF;
		}
		
		public String getNome() {
			return this.nome;
		}
		
		public String getCPF() {
			return this.CPF;
		}
	}
}
Heero

Realmente foi muito util a ajuda!!!
obrigado realmente!
mas realmente eu não havia conseguido resolver esse problema com os livros e exemplos q eu tenho em casa…
essa duvida tinha permanecido!
agora tah solucionado o problema!

Obrigado!

Criado 20 de setembro de 2003
Ultima resposta 22 de set. de 2003
Respostas 9
Participantes 4