Calculadora com tela de login. {DUVIDAS}

1 resposta
E

Olá, pessoal, eu estou com um trabalho para fazer, mas estou com algumas duvidas, eu tenho que montar uma calculadora, com uma tela de login, o senha ja é definida dentro do código, pós estamos no basico ainda. Eu preciso, que assim que eu executar o programa, ele feche a tela de login e abre a calculadora. A tela de login eu ja fiz e tenho pronta, e a calculadora tb, como q eu faria para fazer isso?

Ah, a minha calculadora, ela está com alguns problemas, quando eu tento fazer uma operão com mais de tres valores, esta dando resultados diferentes, e t quando eu tento fazer uma operação com um resultado, tb esta dando problema.

Alguem ae poderia me ajundar?

ccódigo da tela de login:
import java.awt.*;//importa as classes do pacote "awt"
import java.awt.event.*;//importa as classes do pacote "event"
import javax.swing.*;//importa as classes do pacote "swing"

class Exemplo0905 extends JFrame implements ActionListener{//inicia a classe herdando métodos de "JFrame" e implementando a interface "ActionListener"
	JLabel label1,label2;//declara os objetos "JLabel"
	JTextField t1;//declara o objeto "t1" da classe "JTextField"
	JPasswordField p1;//declara o objeto "p1" da classe "JPasswordField"

	public static void main(String args[]){//inicia o método principal
		JFrame janela = new Exemplo0905();//instancia o objeto "janela" a partir da classe atual "Exemplo0905"
		janela.setUndecorated(true);//retira a decoração da janela
		janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);//configura a decoração da janela para ser a padrão JAVA
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//configura a operação de fechar ao clicar no botão do canto superior direito da janela
		janela.setVisible(true);//configura a janela para ser apresentada
	}//fecha o método principal
	
	Exemplo0905(){//cria o método construtor
		setTitle("Verifica Senha");//configura o título da janela
		setBounds(200,50,350,85);//configura o tamanho da janela e posição dela na tela
		getContentPane().setBackground(new Color(150,150,150));//configura a cor de fundo da janela
		getContentPane().setLayout(new GridLayout(2,2));//configura o layout da janela
		label1 = new JLabel("Digite a Senha:");//instancia o objeto "label1" e configura o texto que será apresentado
		label1.setForeground(Color.black);//configura a cor da fonte em "label1"
		label2 = new JLabel("Validação:");//instancia o objeto "label2" e configura o texto que será apresentado 
		label2.setForeground(Color.black);//configura a cor da fonte em "label2"
		label1.setFont(new Font("",Font.BOLD,14));//configura a fonte para ser apresentada em negrito e com tamanho 14
		label2.setFont(new Font("",Font.BOLD,14));
		t1 = new JTextField();//instancia a caixa de texto "t1"
		t1.setForeground(Color.red);//cor da fonte na caixa de texto
		p1 = new JPasswordField();//instancia o objeto "p1"
		p1.setEchoChar("?");//configura o caracter que será apresentado quando o usuário digitar alguma coisa em "p1"
		p1.addActionListener(this);//registra "p1"
		getContentPane().add(label1);//adiciona o label1 na janela
		getContentPane().add(p1);//adiciona "p1" Ã  janela
		getContentPane().add(label2);//adiciona "label2" Ã  janela
		getContentPane().add(t1);//adiciona "t1" Ã  janela
	}//fecha o método construtor

	public void actionPerformed(ActionEvent e){//inicia o método "actionPerformed" (ele é obrigatório já que estamos implementando a interface ActionListener na declaração da classe acima.
		if(new String(p1.getPassword()).equals("JAVA"))//se a senha digitada for igual a palavra "JAVA" em maiúsculas
			t1.setText("Senha Valida");//escreve a mensagem em "t1"
		else//senão
			t1.setText("Senha Invalida");//escreve essa mensagem em "t1"
	}//fecha o método
}//fecha a classe
Codigo da calculadora:
import java.awt.*;//importa as classes do pacote "awt"   
import java.awt.event.*;//importa as classes do pacote "event"   
import javax.swing.*;//importa as classes do pacote "swing"   
  
class Exemplo0902 extends JFrame implements ActionListener{  
    JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bsoma,bmult,bdivi,bsub,bigual,blimpa,bponto;   
    JTextField tela;   
    private char op,opant;
    private int op1=0;  
    private String num;   
    private String numtela="";   
    private double ac=0, a=0,b=0,resultado=0;   
  
    public static void main(String args[]){   
        JFrame janela = new Exemplo0902();   
        janela.setUndecorated(true);   
        janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);   
        janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        janela.setVisible(true);   
    }   
  
    Exemplo0902(){   
        setTitle("Calculadora");   
        setBounds(200,200,200,200);   
        setLocation(100,100);   
        getContentPane().setBackground(Color.black);   
        getContentPane().setLayout(new FlowLayout());       
        b1 = new JButton("1");   
        b1.addActionListener(this);   
        b2 = new JButton("2");   
        b2.addActionListener(this);   
        b3 = new JButton("3");   
        b3.addActionListener(this);   
        b4 = new JButton("4");   
        b4.addActionListener(this);   
        b5 = new JButton("5");   
        b5.addActionListener(this);   
        b6 = new JButton("6");   
        b6.addActionListener(this);   
        b7 = new JButton("7");   
        b7.addActionListener(this);   
        b8 = new JButton("8");   
        b8.addActionListener(this);   
        b9 = new JButton("9");   
        b9.addActionListener(this);   
        b0 = new JButton("0");   
        b0.addActionListener(this);   
        bsoma = new JButton("+");   
        bsoma.addActionListener(this);   
        bsub = new JButton("-");   
        bsub.addActionListener(this);   
        bmult = new JButton("x");   
        bmult.addActionListener(this);   
        bdivi = new JButton("/");   
        bdivi.addActionListener(this);   
        blimpa = new JButton("C");   
        blimpa.addActionListener(this);   
        bigual = new JButton("=");   
        bigual.addActionListener(this);   
        bponto = new JButton(".");   
        bponto.addActionListener(this);   
        tela = new JTextField(10);   
  
        getContentPane().add(tela);   
        getContentPane().add(blimpa);   
        getContentPane().add(b9);   
        getContentPane().add(b8);   
        getContentPane().add(b7);   
        getContentPane().add(bdivi);   
        getContentPane().add(b4);   
        getContentPane().add(b5);   
        getContentPane().add(b6);   
        getContentPane().add(bmult);   
        getContentPane().add(b1);   
        getContentPane().add(b2);   
        getContentPane().add(b3);   
        getContentPane().add(bsub);   
        getContentPane().add(b0);   
        getContentPane().add(bponto);   
        getContentPane().add(bigual);   
        getContentPane().add(bsoma);   
           
    }   
    public void actionPerformed(ActionEvent e) {   
        if (e.getSource() == blimpa){   
            tela.setText("");   
            numtela="";
			op1=0;
			ac=0;
			resultado=0;
        }
		opant=op;
        if ((e.getSource() == bsoma) || (e.getSource() == bsub) || (e.getSource() == bmult) || (e.getSource() == bdivi) ){   
             try{
				a = Double.parseDouble( numtela );
				if(op1==0) ac = a;
				else{
				if (opant=='+') ac=ac+b;
				if (opant=='*') ac=ac*b;
				if (opant=='/') ac=ac/b;
				if (opant=='-') ac=ac-b;
				}
                if (e.getSource() == bsoma){   
 
                    tela.setText("");   
                    numtela="";   
                    op = '+';
					op1++;
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);
                }   
                else if (e.getSource() == bsub){   
  

                    tela.setText("");   
                    numtela="";   
                    op = '-';
					op1++; 
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }     
                else if (e.getSource() == bdivi){   
  
  
                    tela.setText("");   
                    numtela="";   
                    op = '/';
					op1++;
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }     
                else if (e.getSource() == bmult){   
  
  
                    tela.setText("");   
                    numtela="";           
                    op = '*';  
					op1++;
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }
		b=a;   
            }   
            catch(NumberFormatException erro){   
                tela.setText("Erro");   
                return;   
            }   
        }   
        if ((e.getSource() == b1)||(e.getSource() == b2)||(e.getSource() == b3)|| (e.getSource() == b4)||(e.getSource() == b5)|| (e.getSource() == b6)||(e.getSource() == b7)||(e.getSource() == b8)||(e.getSource() == b9)|| (e.getSource() == b0)||(e.getSource() == bponto)){   
            if (e.getSource() == b1) num = "1";   
          
            else if (e.getSource() == b2) num = "2";   
  
            else if (e.getSource() == b3) num = "3";   
  
            else if (e.getSource() == b4) num = "4";   
  
            else if (e.getSource() == b5) num = "5";   
  
            else if (e.getSource() == b6) num = "6";   
       
            else if (e.getSource() == b7) num = "7";   
  
            else if (e.getSource() == b8) num = "8";   
  
            else if (e.getSource() == b9) num = "9";   
  
            else if (e.getSource() == b0) num = "0";   
       
        else if (e.getSource() == bponto) num = ".";   
        numtela=numtela+num;   
        tela.setText(""+numtela);   
  
        }   
		
        if (e.getSource() == bigual){   
            try{
                if (op == '+'){   
                    a = Double.parseDouble( numtela );
					if(op1==0) ac = a;
					else {
						resultado = ac + a;
						ac = resultado;
					}
                    tela.setText(""+ac);  
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }   
                else if (op == '-'){   
                    a = Double.parseDouble( numtela );   
                    if(op1==0) ac = a;
					else {
						resultado = ac - a;
						ac = resultado;
					}   
                    tela.setText(""+resultado);
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }     
                else if (op == '/'){   
                    a = Double.parseDouble( numtela );   
                    if(op1==0) ac = a;
					else {
						resultado = ac / a;
						ac = resultado;
					}  
                    tela.setText(""+resultado); 
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }     
                else if (op =='*'){   
                    a = Double.parseDouble( numtela );   
                    if(op1==0) ac = a;
					else {
						resultado = ac * a;
						ac = ac * a;
					}  
                    tela.setText(""+resultado);
					System.out.println("ac="+ac);
					System.out.println("result="+resultado);
					System.out.println("a="+a);					
                }   
                numtela = tela.getText();   
                resultado = 0;
            }
            catch(NumberFormatException erro){   
                tela.setText("Erro");   
                return;   
            }   
		}
	}
}

1 Resposta

E

up 8)

Criado 25 de agosto de 2008
Ultima resposta 25 de ago. de 2008
Respostas 1
Participantes 1