Ajuda de novo, agora com jframes, swing

O que to querendo agora de ajuda nao sei se é mto simples mas de preferencia se da pra faze da maneira como to pedindo gostaria assim pq acho q se adequa mais ao q to pensando

só quero um exemplo o mais basico possível apenas pra mim ter uma noção

Quero algo assim:
2 classes - cada uma contendo um jframe
a primeira classe deve ter um botao, um label e um jtextfield
a segunda classe deve ter um label e um jtextfield

qdo se clica no botao da 1ª classe ela abre o jframe da 2ª classe e altera o text do label pro valor da jtextfield da 1ª classe

entao qdo se fecha a janela da 2ª classe ela retorna no label da primeira o text da jtextfield da 2ª classe

obrigado e ajuda mto tbm se isso até fosse feito no netbeans ou se indicassem algum programa melhor pra desenvolvimento com ambiente de design junto.

eu tentei acha isso como comunicação entre objetos ou jframes mas é meio dificil ajuda em java

valeu!!

se puderem podem manda a resposta no email

bfbfw@hotmail.com

eu tenhu isso feito…em 3 classes…uma das classes é para das um erro caso o usuario clique o botao sem escrever nada…vo enviar 3 respostas aki…cada uma com o codigo d um das classes… pega a primeira aí

package robo;

import java.awt.;
import java.awt.event.
;
import javax.swing.;
import java.io.
;

public class chave extends JFrame implements ActionListener {

public Button ok;
public Label txt,lb,cv,lb2;




public chave() 
{      
    super("Chave Digitada" );
    setSize(200,120);
    setLocation(400,300);
    setBackground(new Color(255,255,255));
    setResizable(false);
    getContentPane().setLayout(null);
    
    ok = new Button("OK");
    txt = new Label("");
    lb = new Label("Chave Digitada : ");
    cv = new Label("");
    lb2 = new Label("Senha Digitada : ");
    
    getContentPane().add(ok);
    getContentPane().add(txt);
    getContentPane().add(lb);
    getContentPane().add(cv);
    getContentPane().add(lb2);
    
    ok.addActionListener(this);
    
    ok.setBounds(60,60,80,25);
    txt.setBounds(98,10,100,20);
    cv.setBounds(98,30,100,20);
    lb.setBounds(5,10,93,20);
   lb2.setBounds(5,30,93,20);
    txt.setText(janela.chave);
    cv.setText(janela.senh);
    
    this.show();
    
}

public void actionPerformed(ActionEvent e)
{
     if (e.getSource() == ok)     
    {
        this.dispose();
    }



}

}

package robo;

import java.awt.;
import java.awt.event.
;
import javax.swing.;
import java.io.
;

public class erro extends JFrame implements ActionListener {
private Button bton;
private Label labl;

public erro() {
    
    super("ERRO!" );
    setSize(260,100);
    setLocation(400,300);
    setBackground(new Color(255,255,255));
    setResizable(false);
    getContentPane().setLayout(null);
    
    bton = new Button("OK");
    labl = new Label("Voce precisa preencher todos os campos!");
    
    getContentPane().add(bton);
    getContentPane().add(labl);
    
    bton.addActionListener(this);
    
    bton.setBounds(80,35,80,25);
    labl.setBounds(10,10,300,15);
    this.show();
}

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == bton)     //se clicar no botão sair
    {
        this.dispose();
        
    }
    
}

}

essa é a classe principal…ta certinhu esses codigos…vc só precisa compilar e rodar…o f* é q ta tdo junto…kalké duvida pergunta pra mim q foi eu q fiz…é tosco mais faz o q vc pediu flw

package robo;

import java.awt.;
import java.awt.event.
;
import javax.swing.;
import java.io.
;

public class janela extends JFrame implements ActionListener

{

public static String chave, senh;
public Panel panel; 
public Button entrar, sair;
public Label lb1, lb2;    
public TextField tx1;
public JPasswordField tx2;

public static void main(String Args[])
{
 janela jan = new janela();
 jan.show();
}

public janela()    //método construtor
{
   super ("Correio Automático" );
   setSize(325,150);
   setLocation(200,200);
   setBackground (new Color (255,255,255));
   setResizable(false);
   getContentPane().setLayout(null);
   
   
   panel = new Panel();
   entrar = new Button ("ENTRAR");
   sair = new Button ("SAIR");
   lb1 = new Label ("Chave SISbb :");
   lb2 = new Label ("Senha SISbb :");
   tx1 = new TextField("",0);
   tx2 = new JPasswordField("",0);
   
   
   
   getContentPane().add(panel);
   getContentPane().add(entrar);
   getContentPane().add(sair);
   getContentPane().add(lb1);
   getContentPane().add(lb2);
   getContentPane().add(tx1);
   getContentPane().add(tx2);
   
   entrar.addActionListener(this);
   sair.addActionListener(this);
           
   entrar.setBounds(75,75,80,25);
   sair.setBounds(175,75,80,25);
   lb1.setBounds(5,10,78,10);
   lb2.setBounds(5,50,79,10);
   tx1.setBounds(90,6,200,20);
   tx2.setBounds(90,46,200,20); 
   panel.setBounds(400,200,1,1); 
   
   
   this.show();     
   }
	public void actionPerformed(ActionEvent e)
{
      if (e.getSource() == sair)     //se clicar no botão sair
	{                         
		dispose();         
	    System.exit(0);	
	}
      
      if (e.getSource() == entrar)
      {
        if ((tx1.getText().equals(""))&&(tx2.getText().equals("")))
            
        {    
        erro erro = new erro(); 
        erro.show();
        }
        else
        {
           senh = tx2.getText();
           chave = tx1.getText(); 
           chave ch = new chave();
           ch.show();
           
        
        }
        
        
    return;
      }  
      }

}

Duas coisinhas

:arrow:Vc conhece a tag code???
Ela ajuda bem na hora de postar código aqui…

:arrow: O professor de vc’s é o mesmo??? :mrgreen:

HHHHHMMMMMMMMM…NAUM!

valeu pela ajuda mas como to começando nao consegui ajeita mto bem

e tbm como to meio sem tempo queria sabe se vc nao podia me envia os arquivos q daí eu estudava os códigos

se dé me manda por email ou no msn

bfbfw@hotmail.com

subindo…

ninguem tem um exemplo pronto pra mim ter uma noção??

ai vai,

observe que o JFrame1 é a classe que chama o JFrame2, logo quando você for executar o programa digite “java JFrame1”…

como também estou aprendendo java… estou aprendendo e utilizando o Eclipse 3.1, que por padrão não é uma IDE RAD, mas existem plugins que adicionam esta característica(plugin VEP), e eu ainda não instalei.
como você está começando, é recomendável não utilizar uma IDE parecida com o Delphi ou VB, tente aprender na unha…

JFrame1.java

[code] import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
*
*/

/**

  • @author Teste

*/
public class JFrame1 implements ActionListener, KeyListener {

private JFrame frmTela;

private JPanel panelreal;
private JPanel paneldolar;
private JPanel panelSair;

private JTextField txtReal;
private JTextField txtDolar;

private JLabel lblreal;
private JLabel lbldolar;

private JButton btnCliqueAqui;

private float auxiliar;
private NumberFormat formatadorDeNumeros = null; 

public JFrame1() {
	// TODO Auto-generated constructor stub
	
	frmTela = new JFrame("JFrame1");
	frmTela.setLayout(new BorderLayout());
	
	panelreal = new JPanel();		
	paneldolar = new JPanel();
	panelSair = new JPanel();
	
	txtReal = new JTextField(10);
	txtReal.addKeyListener(this);
	txtDolar = new JTextField(10);
	txtDolar.addKeyListener(this);
	
	lblreal = new JLabel("Digite o seu real:");
	lbldolar = new JLabel("Digite a sua dolar:");
	
	btnCliqueAqui = new JButton("Chama JFrame2");
	btnCliqueAqui.addActionListener(this);
	
	panelreal.add(lblreal);
	panelreal.add(txtReal);
	panelSair.add(btnCliqueAqui);
	
	paneldolar.add(lbldolar);
	paneldolar.add(txtDolar);
	
	
	frmTela.add(panelreal,BorderLayout.NORTH);
	frmTela.add(paneldolar,BorderLayout.CENTER);
	frmTela.add(panelSair,BorderLayout.SOUTH);
	
	frmTela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frmTela.pack();
	frmTela.setResizable(false);
	frmTela.setLocationRelativeTo(null);
	frmTela.setVisible(true);
	
	// aqui é inicializado o formatador de número utilizado
	// por esta classe
	
	formatadorDeNumeros = new DecimalFormat("###,##0.00");
	auxiliar = 0.0f;
}

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	new JFrame1();

}

public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
	
	if ( e.getSource() == btnCliqueAqui) {
		JFrame2 jframe2 = new JFrame2(this);
	}
}

public void keyTyped(KeyEvent e) {
	// TODO Auto-generated method stub
	
	if(e.getKeyChar()==',') {
		e.setKeyChar('.');
	}
}
public void keyPressed(KeyEvent e) {
	// TODO Auto-generated method stub		
}
public void keyReleased(KeyEvent e) {
	// TODO Auto-generated method stub

// txtReal.setText(txtReal.getText().replaceAll(",","."));
// txtDolar.setText(txtDolar.getText().replaceAll(",","."));

	if ( e.getSource() == txtReal) {
		try {
			auxiliar = Float.parseFloat(txtReal.getText()) / 2.70f;
		} catch (Exception exc) {
			auxiliar = 0.0f;
		}
		txtDolar.setText(formatadorDeNumeros.format(auxiliar));
	} else {
		try {
			auxiliar = Float.parseFloat(txtDolar.getText()) * 2.70f;
		} catch (Exception exc) {
			auxiliar = 0.0f;
		}
		txtReal.setText(formatadorDeNumeros.format(auxiliar));
	}
}

/**
 * @return Returns the txtDolar.
 */
public JTextField getTxtDolar() {
	return txtDolar;
}


/**
 * @return Returns the txtReal.
 */
public JTextField getTxtReal() {
	return txtReal;
}


/**
 * @param txtDolar The txtDolar to set.
 */
public void setTxtDolar(String txtDolar) {
	this.txtDolar.setText(txtDolar);
}


/**
 * @param txtReal The txtReal to set.
 */
public void setTxtReal(String txtReal) {
	this.txtReal.setText(txtReal);
}

}[/code]

JFrame2.java

[code] import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
*
*/

/**

  • @author Teste

*/
public class JFrame2 implements ActionListener, KeyListener {

private JFrame frmTela;

/* 
 * este aqui é a referencia para o JFrame1
 */
private JFrame1 referenciaParaJFrame1 = null; 

private JPanel panelreal;
private JPanel paneldolar;
private JPanel panelSair;

private JTextField txtReal;
private JTextField txtDolar;

private JLabel lblreal;
private JLabel lbldolar;

private JButton btnSair;

private float auxiliar;
private NumberFormat formatadorDeNumeros = null; 

public JFrame2(JFrame1 jframe1) {
	// TODO Auto-generated constructor stub
	
	referenciaParaJFrame1 = jframe1;
	
	frmTela = new JFrame("JFrame2");
	frmTela.setLayout(new BorderLayout());
	
	panelreal = new JPanel();		
	paneldolar = new JPanel();
	panelSair = new JPanel();
	
	txtReal = new JTextField(10);
	txtReal.addKeyListener(this);
	txtDolar = new JTextField(10);
	txtDolar.addKeyListener(this);
	
	lblreal = new JLabel("Digite o seu real:");
	lbldolar = new JLabel("Digite a sua dolar:");
	
	btnSair = new JButton("Sair");
	btnSair.addActionListener(this);
	
	panelreal.add(lblreal);
	panelreal.add(txtReal);
	panelSair.add(btnSair);
	
	paneldolar.add(lbldolar);
	paneldolar.add(txtDolar);
	
	
	frmTela.add(panelreal,BorderLayout.NORTH);
	frmTela.add(paneldolar,BorderLayout.CENTER);
	frmTela.add(panelSair,BorderLayout.SOUTH);
	
	frmTela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	frmTela.pack();
	frmTela.setResizable(false);
	frmTela.setLocationRelativeTo(null);
	frmTela.setVisible(true);
	
	// aqui é inicializado o formatador de número utilizado
	// por esta classe
	
	formatadorDeNumeros = new DecimalFormat("###,##0.00");
	auxiliar = 0.0f;
}

/**
 * @param args
 */
public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
	
	frmTela.dispose();
}

public void keyTyped(KeyEvent e) {
	// TODO Auto-generated method stub
	
	if(e.getKeyChar()==',') {
		e.setKeyChar('.');
	}
}
public void keyPressed(KeyEvent e) {
	// TODO Auto-generated method stub		
}
public void keyReleased(KeyEvent e) {
	// TODO Auto-generated method stub

// txtReal.setText(txtReal.getText().replaceAll(",","."));
// txtDolar.setText(txtDolar.getText().replaceAll(",","."));

	if ( e.getSource() == txtReal) {
		try {
			auxiliar = Float.parseFloat(txtReal.getText()) / 2.70f;
		} catch (Exception exc) {
			auxiliar = 0.0f;
		}
		txtDolar.setText(formatadorDeNumeros.format(auxiliar));
	} else {
		try {
			auxiliar = Float.parseFloat(txtDolar.getText()) * 2.70f;
		} catch (Exception exc) {
			auxiliar = 0.0f;
		}
		txtReal.setText(formatadorDeNumeros.format(auxiliar));
	}

	/*
	 * lembra da variável referenciaParaJFrame1????
	 */
	referenciaParaJFrame1.setTxtDolar(txtDolar.getText());
	referenciaParaJFrame1.setTxtReal(txtReal.getText());
}

}[/code]

espero ter ajudado…

eu testei aqui e deu uns erros mas vo da uma olhada no código e tenta concerta pra mim pra ve se é o q eu quero mesmo mas valeu de qualq jeito!!!

e se alguem tive um exemplo disso q eu pedi e for pro netbeans ainda daí vai ser mto bom!!

valeu!

ninguem tem algum exemplo pronto???