Calculo Salario JAVA Applet

5 respostas
mjhable

Ola Pessoal! Tenho que desenvolver o seguinte exercicio:

Elabore uma Applet para calculo do salario liquido em que tres valores devem ser informadas pelo usuario : -Qtde de horas trabalhadas -Salario por Hora -Numero de dependentes

O programa deve mostrar uma caixa de mensagem com os calculos realizados conforme a tabela
abaixo:

InformaÁ?o | Calulo
_________________________________________________________________________________
Salario Bruto | Horas trabalhadas * Salario hora + (50 * n∫ dependentes)
_________________________________________________________________________________
Desconto INSS | Se Salario Bruto <= 1000 INSS = Sal Bruto *8.5/100
| Se Salario Bruto > 1000 INSS = Sal Bruto * 9/100
_________________________________________________________________________________
Desconto IRRF | Se Sal Bruto <= 500 IR = 0
| Se Sal Bruto > 500 e <= 1000 IR = Sal Bruto *5/100
| Se Sal Bruto > 1000 IR = Sal Bruto * 7 /100
_________________________________________________________________________________
Sal Liquido | Sal Bruto = INSS - IR

A questão é que, eu fiz o codigo inicial, mas ele dá erro na metade do caminho. Segue o Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JRootPane;
import javax.swing.JTextField;
import java.awt.event.*;
import javax.swing.*;

public class teste extends JFrame implements ActionListener {
	JPanel p1;
	JButton b1,b2,b3,b4,b5,b6,b7,b8,b9;
	JTextField t1,t2,t3,t4,t5,t6,t7;
	String Aux="";
	
	char op;
	
	public static void main(String[] args){
		JFrame janela=new teste();
		janela.setUndecorated(true);
		janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		janela.setVisible(true);
	
	}
	public teste()
	{
		
		setBounds(0,0,410,380);;
		setTitle("Calculo salario");
		
		p1=new JPanel();
		
		p1.setLayout(null);
		t1=new JTextField();		
		t1.setBounds(150,0,240,40);
		p1.add(t1,null);
		getContentPane().add(p1);
		
		
		p1.setLayout(null);
		t2=new JTextField();		
		t2.setBounds(150,40,240,40);
		p1.add(t2,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t3=new JTextField();		
		t3.setBounds(150,80,240,40);
		p1.add(t3,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t4=new JTextField();		
		t4.setBounds(150,180,240,40);
		p1.add(t4,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t5=new JTextField();		
		t5.setBounds(150,220,240,40);
		p1.add(t5,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t6=new JTextField();		
		t6.setBounds(150,260,240,40);
		p1.add(t6,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t7=new JTextField();		
		t7.setBounds(150,300,240,40);
		p1.add(t7,null);
		getContentPane().add(p1);
		
		
		
		
		b1=new JButton("Qtde horas:");
		b1.addActionListener(this);
		b1.setBounds(0,0,150,40);
		p1.add(b1,null);
		
		
		b2=new JButton("Sal/hora:");
		b2.addActionListener(this);
		b2.setBounds(0,40,150,40);
		p1.add(b2,null);
		
		b3=new JButton("Nº dependentes:");
		b3.addActionListener(this);
		b3.setBounds(0,80,150,40);
		p1.add(b3,null);
		
		b4=new JButton("Calcular");
		b4.addActionListener(this);
		b4.setBounds(10,130,150,40);
		p1.add(b4,null);
		
		b5=new JButton("limpar:");
		b5.addActionListener(this);
		b5.setBounds(190,130,150,40);
		p1.add(b5,null);
		
		b6=new JButton("Sal. Bruto:");
		b6.addActionListener(this);
		b6.setBounds(0,180,150,40);
		p1.add(b6,null);
		
		b7=new JButton("INSS:");
		b7.addActionListener(this);
		b7.setBounds(0,220,150,40);
		p1.add(b7,null);
		
		b8=new JButton("IRRF:");
		b8.addActionListener(this);
		b8.setBounds(0,260,150,40);
		p1.add(b8,null);
		
		b9=new JButton("Sal. liquido:");
		b9.addActionListener(this);
		b9.setBounds(0,300,150,40);
		p1.add(b9,null);
	}
		
		

		  public void actionPerformed1(ActionEvent e)
		  {
		    if (e.getSource()==b5)
		    {
		      t1.setText("");  t2.setText("");  t3.setText(""); 
		      return;
		    }
		    @SuppressWarnings("unused")
			float qtdh=0, salh=0,ndepen=0,salb=0,inss=0,irrf=0,salli=0;
		    
		      qtdh = Float.parseFloat(t1.getText());
		      salh = Float.parseFloat(t2.getText());
		      ndepen = Float.parseFloat(t3.getText());
		    
		      if (e.getSource()==b4)  { 
		        
		  salb=qtdh*salh+(50*ndepen);
		  t4.setText("" + salb);
		  
		  if (salb<=500){inss= (float) (salb*8.5/100);
		  }
		  else if(salb>100){ inss=salb*9/100;
		  
		  }
		  t5.setText("" + inss);
		  if(salb<=500){irrf=0;}
		  else if(salb>500 && salb<=1000){irrf=salb*5/100;}
		  }
		      else{irrf=salb*7/100;}
		      t6.setText("" + irrf);
		      
		      salli=salb-inss-irrf;
		      t7.setText("" + salli);
		  }
		  
	}

O que estou fazendo de errado?

Grato!!

5 Respostas

thiago.correa

Qual erro está dando?!
P.S.: Adote como padrão de codificação, uma linha para cada instrução! Fica horrível de ler, entender e depurar um possível erro!

mjhable

thiago.correa:
Qual erro está dando?!
P.S.: Adote como padrão de codificação, uma linha para cada instrução! Fica horrível de ler, entender e depurar um possível erro!

Ele aparece isso no XCode:

teste is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener
public class teste extends JFrame implements ActionListener {
^

shyryu
1º - > Nome de class sempre Maiusculo : teste.class -->> Teste.class 2º -> Você ta implementando ActionListener
public class AppStart extends JFrame implements ActionListener
enão você vai ter que implementar o method dele
@Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        
    }

Agora não posso te ajudar muito velho, porque não manjo essas coisas de Applet não ^^
Espero ter ajudado

mjhable
shyryu:
1º - > Nome de class sempre Maiusculo : teste.class -->> Teste.class 2º -> Você ta implementando ActionListener
public class AppStart extends JFrame implements ActionListener
enão você vai ter que implementar o method dele
@Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        
    }

Agora não posso te ajudar muito velho, porque não manjo essas coisas de Applet não ^^
Espero ter ajudado

Rapaz, agora não deu nenhum erro!! Aleluia!
Mas não rodou? acho porque, agora eu tenho que transformar em Applet? vou tentar e ja coloco o codigo aqui :)

mjhable

Vamos la? agora convertendo para Applet, deu diversos erros (17)

Segue o codigo:

import java.awt.event.ActionEvent;
import javax.swing.JButton;
import java.applet.Applet;
import javax.swing.JOptionPane;
import javax.swing.JRootPane;
import javax.swing.JTextField;
import java.awt.event.*;
import javax.swing.*;


   public class TesteApplet extends Applet 

{
	JPanel p1;
	JButton b1,b2,b3,b4,b5,b6,b7,b8,b9;
	JTextField t1,t2,t3,t4,t5,t6,t7;
	String Aux="";
	
	char op;
	
	@Override  
	public void init()  
	
	{
		JFrame janela=new TesteApplet();
		janela.setUndecorated(true);
		janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		janela.setVisible(true);
	}
	
	public TesteApplet()
	
	{
		
		p1=new JPanel();
		
		p1.setLayout(null);
		t1=new JTextField();		
		t1.setBounds(150,0,240,40);
		p1.add(t1,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t2=new JTextField();		
		t2.setBounds(150,40,240,40);
		p1.add(t2,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t3=new JTextField();		
		t3.setBounds(150,80,240,40);
		p1.add(t3,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t4=new JTextField();		
		t4.setBounds(150,180,240,40);
		p1.add(t4,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t5=new JTextField();		
		t5.setBounds(150,220,240,40);
		p1.add(t5,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t6=new JTextField();		
		t6.setBounds(150,260,240,40);
		p1.add(t6,null);
		getContentPane().add(p1);
		
		p1.setLayout(null);
		t7=new JTextField();		
		t7.setBounds(150,300,240,40);
		p1.add(t7,null);
		getContentPane().add(p1);
		
		b1=new JButton("Qtde horas:");b1.addActionListener(this);
		b1.setBounds(0,0,150,40);
		p1.add(b1,null);
		
		b2=new JButton("Sal/hora:");b2.addActionListener(this);
		b2.setBounds(0,40,150,40);
		p1.add(b2,null);
		
		b3=new JButton("Nº dependentes:");b3.addActionListener(this);
		b3.setBounds(0,80,150,40);
		p1.add(b3,null);
		
		b4=new JButton("Calcular");b4.addActionListener(this);
		b4.setBounds(10,130,150,40);
		p1.add(b4,null);
		
		b5=new JButton("limpar:");b5.addActionListener(this);
		b5.setBounds(190,130,150,40);
		p1.add(b5,null);
		
		b6=new JButton("Sal. Bruto:");b6.addActionListener(this);
		b6.setBounds(0,180,150,40);
		p1.add(b6,null);
		
		b7=new JButton("INSS:");b7.addActionListener(this);
		b7.setBounds(0,220,150,40);
		p1.add(b7,null);
		
		b8=new JButton("IRRF:");b8.addActionListener(this);
		b8.setBounds(0,260,150,40);
		p1.add(b8,null);
		
		b9=new JButton("Sal. liquido:");b9.addActionListener(this);
		b9.setBounds(0,300,150,40);
		p1.add(b9,null);
	}
		
		

	public void actionPerformed1(ActionEvent e)
	
	{
		if (e.getSource()==b5)
			
			{
				t1.setText("");  t2.setText("");  t3.setText(""); 
				return;
			}
		
		@SuppressWarnings("unused")
		float qtdh=0, salh=0,ndepen=0,salb=0,inss=0,irrf=0,salli=0;
		    
		qtdh = Float.parseFloat(t1.getText());
		salh = Float.parseFloat(t2.getText());
		ndepen = Float.parseFloat(t3.getText());
		    
		if (e.getSource()==b4)  
			  
			{ 
		        salb=qtdh*salh+(50*ndepen);
				t4.setText("" + salb);
				if (salb<=500)
					
					{
						inss= (float) (salb*8.5/100);
					}
				
				else if(salb>100)
					
					{
						inss=salb*9/100;
					}
				
				t5.setText("" + inss);
				if(salb<=500){irrf=0;}
				else if(salb>500 && salb<=1000){irrf=salb*5/100;}
			}
		
		      else
				  
			  {
				  irrf=salb*7/100;
			  }
		
		      t6.setText("" + irrf);
		      
		      salli=salb-inss-irrf;
		      t7.setText("" + salli);
	}
}
Criado 23 de setembro de 2010
Ultima resposta 23 de set. de 2010
Respostas 5
Participantes 3