Duvida trabaho da faculdade urgente

pessoal estou cursando o 3º semestre de ciencia da computacao,

sobre a materia de java. o nosso professor vai pulando etapas muitas pessoas estao sendo prejudicadas na sala por causa dele
ele passou o seguinte exercicios

[color=“red”]construa uma janela que permita o cadastramento de uma pessoa a um sistema qualquer. voce ja viu muitas dessas janelas, sao os formularios, muitos usados p/ cadastro de pessoas em sites como orkut ou para a abertura de contas de email
esta janela deve permitir a entrada das seguintes informacoes nos formatos especificos:
Strings: nome,rg,cpf,profissao
date: data de nascimento
boolean: possui dependentes?
endereco: o endereco do usuarios note que o endereco é uma classe
alem disso o usuario deve poder escolher em uma lista qual é o seu nivel de escolaridade
quando o usuario clicar em um botao enviar toda a informacao inserida no formulario devera ser armazenada em um objeto da classe Pessoa e, a mesma informacao, devera ser impressa devidamente formatada na saida padrao
quando o usuario enviar a informacao todos os campos do formulario devem ser limpos.[/color]

estamos comecando a trabalhar com janelas ele nem se quer ensinou a manipular o layout da janela, e é para ser entregue dia 20/03/2007
nao sei nem por onde comecar
nao estou pedindo p/ fazerem o codigo p/ mim mais sim me ajudar a fazer com isso todos nos aprendemos
se alguem puder me ajudar eu agradeco desde ja

Cara da próxima vez você faz um tópico só! Eu tava aqui lendo seu tópico pra responder ai fiquei em dúvida de qual tópico responder… Vou ler os outros 2 quando tiver tempo ai respondo

Valeu? :wink:

nao foi minha intencao de fazer 3 topicos

fiz um mais quando eu confirmei tinha dado erro na minha pagina

foi mal

O que você já tem feito ?

akyshow só vi teu tópico de resposta agora! Vamos ver em que posso te ajudar… Eu não sou muito bom com swing, porque eu uso muito o netbeans… Se o seu professor quiser o código fica complicado usar essa IDE. Da uma lida nesse tutorial

http://java.sun.com/docs/books/tutorial/ui/index.html

ele fala sobre swing, tenta montar a interface gráfica! Se o teu professor não quiser código, vale apena usar o netbeans ou até mesmo o eclipse VE (eu recomento o netbeans :wink: )…

Tenta fazer alguma coisa e posta teu código que agente corrige!

EDITADO:

A propósito desculpe pela ignorância no tópico que postei acima, é porque ontem me adicinou um cara com um msn de mulher, que me viu aqui no PJ e ficou enxendo pedindo código! Quando vi seu tópico 3 vezes, nem li ele todo pensei “Mais um folgado pedindo código pronto” Mals :oops:

ola galera acho que o 1º passo ja foi dado pesquisei um pouco e fiz alguma coisa
estou em duvida sobre qual gerenciador de layout usar e como configurar
o tamanho doTextField dentro do gerenciador estou usando o GridLayout
mais uma coisa galera este codigo tem que ser feito em awt e nao swing
falta agora organizar o layout ( gerenciador);
me ajudem por favor

vejam o codigo:
[color=“red”]

import java.awt.Label;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.TextField;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class cadastro extends Frame implements ActionListener
{
Label l1 =new Label(“Nome:”),
l2 = new Label(“Endereço:”),
l3 = new Label(“Bairro:”),
l4 = new Label(“Cep:”),
l5 = new Label(“Cidade:”),
l6 = new Label(“UF:”),
l7 = new Label(“Telefone 1:”),
l8 = new Label(“Telefone 2:”),
l9 = new Label(“Fax:”),
l10= new Label(“Cpf”),
l11= new Label(“Rg:”);

cadastro()
{
	setTitle(" Cadastro de Clientes");
	
	setSize(500,500);// janela principal
	setBackground(Color.yellow);	
	
	setLayout(new GridLayout(11,1));// gerenciador de layout
	
	add(l1);
	add(l2);
	add(l3);
	add(l4);
	add(l5);
	add(l6);
	add(l7);
	add(l8);
	add(l9);
	add(l10);
	add(l11);
	
	setVisible(true);
}	


		
public void actionPerformed (ActionEvent e)
{

}
	

public static void main(String[] args) 
{
	new cadastro();

}

}[/color]

Quanto ao gerenciador de layout’s, caso esteje complicado, você pode setar como null e colocar as posições dos componentes.

  Container c = getContentPane();
  c.setLayout(null);

  btnOk = new JButton("OK");
  btnOk.setBounds (70 , 40, 50, 50);
  ...

   c.add(btnOk);

O método setBounds você passa 4 parâmetros que diz a largura, a altura, a posição em x e a posição em y respectivamente.
Você pode fazer isso para JextField, JButton, e mais…

Flw

meu caro, um codigo bem simples, interface, estude ela e dai ja dá pra fazer um bom trabalho…

[code]/*

  • classe formulario. Trabalha com a interface do usuario;
    */

import java.awt.;
import java.awt.event.
;

import javax.swing.*;

public class Formulario extends JFrame{

private	Container	container;
private	JLabel		labelNome, labelEndereco, labelNumero, labelComplemento, labelPais, labelCidade, 
			labelBairro, labelEstado, labelCpf, labelProfissao;
private	JTextField	fieldNome, fieldEndereco, fieldNumero, fieldComplemento, fieldPais, fieldCidade, 
			fieldBairro, fieldEstado, fieldCpf;
private	String 		nameProfissoes[] = {"Estudande fundamental", "Estudante Medio", "Estudante Superior",
			"Servidor Publico","Autonomo", "Outros"};
private	JButton		buttonSalvar, buttonCancelar;
private	JComboBox	comboBoxProfissao;
public Formulario(){

	super("Cadastro Usuario");

	container = getContentPane();
	container.setLayout(null);

	labelNome = new JLabel("Nome");
	labelNome.setBounds(10,25,100,25);
	fieldNome = new JTextField();
	fieldNome.setBounds(70,25,312,25);

	container.add(labelNome);
	container.add(fieldNome);

	labelEndereco = new JLabel("Endereco");
	labelEndereco.setBounds(10,70,100,25);
	fieldEndereco = new JTextField();
	fieldEndereco.setBounds(70,70,315,25);

	container.add(labelEndereco);
	container.add(fieldEndereco);

	
	labelNumero = new JLabel("Numero");
	labelNumero.setBounds(10,110,100,25);
	fieldNumero = new JTextField();
	fieldNumero.setBounds(70,110,100,25);
	
	container.add(labelNumero);
	container.add(fieldNumero);

	
	labelComplemento = new JLabel("Complemento");
	labelComplemento.setBounds(200,110,100,25);
	fieldComplemento = new JTextField();
	fieldComplemento.setBounds(285,110,100,25);
	
	container.add(labelComplemento);
	container.add(fieldComplemento);

	labelCidade = new JLabel("Cidade");
	labelCidade.setBounds(10,150,100,25);
	fieldCidade = new JTextField();
	fieldCidade.setBounds(70,150,100,25);

	container.add(labelCidade);
	container.add(fieldCidade);


	labelBairro = new JLabel("Bairro");
	labelBairro.setBounds(200,150,100,25);
	fieldBairro = new JTextField();
	fieldBairro.setBounds(285,150,100,25);

	container.add(labelBairro);
	container.add(fieldBairro);

	
	labelEstado = new JLabel("Estado");
	labelEstado.setBounds(10,190,100,25);
	fieldEstado = new JTextField();
	fieldEstado.setBounds(70,190,100,25);

	container.add(labelEstado);
	container.add(fieldEstado);

	labelPais = new JLabel("Pais");
	labelPais.setBounds(200,190,100,25);
	fieldPais = new JTextField();
	fieldPais.setBounds(285,190,100,25);

	container.add(labelPais);
	container.add(fieldPais);

	labelProfissao = new JLabel("Profissao");
	labelProfissao.setBounds(10,230,100,25);
	comboBoxProfissao = new JComboBox(nameProfissoes);
	comboBoxProfissao.setBounds(70,230,200,25);

	container.add(labelProfissao);
	container.add(comboBoxProfissao);

	
	buttonSalvar = new JButton("Salvar");
	buttonSalvar.setBounds(70,270, 100,25);
	buttonCancelar = new JButton("Cancelar");
	buttonCancelar.setBounds(200,270,100,25);

	container.add(buttonSalvar);
	container.add(buttonCancelar);

	setSize(400,400);
	setVisible(true);		

}

public static void main(String args[]){
	Formulario f = new Formulario();
	
	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}[/code]

abraços a todos!!

vou estudar bem estes exemplos

e vou colocar o trabalho do jeito que o professor pediu

muito obrigado a todos

dougufpa heheheheh este é meu colega de Universidade, estuda na minha turma. Manda até a tela né !!!

este codigo do nosso amigo dougufpa esta perfeito mais falta somente
uma etapa para terminar

o exercicio pede o seguinte quando clicar no botao salvar toda informação iserida no formulário deverá ser armazenada em um objeto da classe Pessoa e a mesma informação deverá ser impressa, devidamente formatada na saida padrão.

quem puder me ajudar eu agradeço

cara muito fácil!! Mas pelo visto tu quer que eu faça tudo hem … haha. Vou te passar a classe Pessoa e umas dicas.
Os eventos você vai ficar responsavel em fazer mas vou te dar umas dicas…

[code]/*

  • Classe Pessoa, recebe todos os atributos de pessoa.
  • 18-03-2007
  • @Douglas Almeida
    */

public class Pessoa{

private String nome;
private String endereco;
private String numero;
private String complemento;
private String cidade;
private String bairro;
private String estado;
private String pais;
private String profissao;

public void Pessoa	(String no, String end, String nu, String com, String ci, String ba, String es, String pa, String pr){
		setNome(no);
		setEndereco(end);
		setNumero(nu);
		setComplemento(com);
		setCidade(ci);
		setBairro(ba);
		setEstado(es);
		setPais(pa);
		setProfissao(pr);
}

/*
 * metodos set recebe todos os parametros de pessoa
 */
 
 public void setNome(String no){
 	this.nome	=	no;	
 }
 
 public void setEndereco(String end){
 	this.endereco	= 	end;	
 }
 
 public void setNumero( String nu){
 	this.numero	=	nu;	
 }
 
 public void setComplemento(String com){
 	this.complemento	=	com;	
 }
 
 public void setCidade(String ci){
 	this.cidade	=	ci;	
 }
 
 public void setBairro(String ba){
 	this.bairro	=	ba;	
 }
 
 public void setEstado(String es){
 	this.estado	=	 es;	
 }
 
 public void setPais(String pa){
 	this.pais	= pa;	
 }
 
 public void setProfissao(String pro){
 	this.profissao	=	pro;	
 }
 
 /*
  *	metodos get retorna todos os parametros de pessoa
  */
  
 public String getNome(){
 	return	nome;	
 }
 
 public String getEndereco(){
 	return endereco;	
 }
 
 public String getNumero(){
 	return numero;	
 }
 
 public String getComplemento(){
 	return complemento;	
 }
 
 public String getCidade(){
 	return cidade;	
 }
 
 public String getBairro(){
 	return bairro;	
 }
 
 public String getEstado(){
 	return estado;	
 }
 
 public String getPais(){
 	return pais;	
 }
 
 public String getProfissao(){
 	return profissao;	
 }

}[/code]

Vamos as dicas então:

Primeiramente você disse:[quote] quando clicar no botao salvar toda informação iserida no formulário deverá ser armazenada em um objeto da classe Pessoa [/quote]
A classe Pessoa ja está pronta, agora o que você deve fazer?, é o seguinte: existem outras formas de fazer mas eu faria o seguinte. Criaria uma classe privada dentro da classe Formulario (interface) para tratar os evento.
Exemplo: você teria que declarar e instanciar o tipo Pessoa na classe formulario [code]public class Formulario extends JFrame{
private JLabel label;
private JTextField field;
private JButton salvar
private Pessoa  pessoa

public Formulario(){
	pessoa = new Pessoa();	
           
            label = new JLabel("Nome");
            field  = new JTextField(10); /* caso queira set os valores por setBounds(x,x,x,x)./*
}	

}

private classe TratarEvento implements ActionListener{
public void actionPerformed(ActionEvent e){
if( e.getSource() == salvar ){
pessoa.setNome = field;
}
}
}
[/code]

caro colega foi um exemplo bem grotesco, e não compilado, escrevi aqui direto e creio que dará erro, mas a logica que aplicaria era essa: faria todo o formulario da interface, quando clicar no botao salvar, todas a variaveis field do formulario seria atribuidas aos parametros da classe pessoa, ou seja, a variaval field seria mandada da classe Formulario para o metodo setNome(no) da classe Pessoa.
espero que voce tenha entendido a ideia… dos eventos.

 Segundo você disse: 

eu não sei que tipo de saida padrão é essa que ele disse mas, eu faria o seguinte: Criaria um metodo getSaidaPadrao() na classe Pessoa

[code]public class Pessoa{
private String …

public void ....

.....
,,,,
...

public String getSaidaPadrao(){
	return "Nome: " + nome + "\n"; // etc.. para todos os parametros.	
}

}
[/code]

esse metodos getSaidaPadrao() eu chamaria para um JTextArea e faria um evento para chamar o JTextArea e exibir.

creio que talvez eu tenha esclarecido algo a respeito, dê uma pesquisada, mas espero ter ajudado ou dado uma luz a você, espero a sua resposta.

abraço a todos!!

sem mais.

Quanto a saída padrão, se o seu objeto for retornar a saída, como fez o nosso amigo dougufpa (salve, salve), para ficar mais “elegante”, você não precisaria criar o método getSaidaPadrao () … para retornar o objeto em forma de string. Todas as classes java são herdeiras da Classe Object, que define alguns métodos. Entre esses métodos existe o método toString (), que quando chamando, retorna uma string que representa o objeto em questão. Para a sua saída, você poderia apenas sobrescrever este método.


public class Pessoa {
   public String toString () {
        return "saida padrao";
   }
}


public class Janela {
 ....


  Pessoa p = new Pessoa ();

...

  txtPessoa.setText(p.toString());
}


Falou

falou e disse:
Como dito anteriormente por mim mesmo, existem varias formas de se fazer, eis uma delas… valew meu caro rodolfocoutinho

olha meu caro amigo dougufpa

valeu por ter me ajudado, nao consegui fazer esse exercicio por classe

e sim fiz parecido com o primeiro codigo que vc me passou

acrescentei mais algumas coisas, vou enviar assim pois nao da mais tempo pq a entrega é hoje

muito muito obrigado mesmo