Funciona; mas

1 resposta
R

Quando clica no botão [gerar Folha de Pagamento], A janela simplesmente aparece em branco…
Dismanchei, refiz e me enrolei bastante também e nada…
Tenho que entregar esse pequeno projeto da faculdade e a dias não consigo nem um resultado…
Podem me ajudar???
Eis o programa:

public class Funcionario

{

private String nome;

private int identificacao, horas, horasExtras;

private double valorHora=0;

public Funcionario(String nF, int idF, int hF)
{
nome = nF;
identificacao = idF;
horas = hF;
}
public void setHoras(int h)
{
horasExtras=h;
}
public void setValorHora(double v)
{
valorHora=v;
}
public int getIdentificacao()
{
return identificacao;
}
public String getNome()
{
return nome;
}
public double getSalario()
{
return valorHora*horas;
}
public double getValorHora()
{
return valorHora;
}
public int getHoras()
{
return (horas+horasExtras);
}
}//fim da classe Funcionario

public class Administrativo extends Funcionario
{
private double salarioB, salarioA;
private int horasAdm;
public Administrativo (String n, int id, int h)
{
super(n,id,h);
}
public void setHorasAdm(int hAdm)
{
this.horasAdm=hAdm;
super.setHoras(hAdm);
}
public double getSalario()
{
this.salarioB=super.getSalario();
this.salarioA=(double)this.horasAdm*super.getValorHora();
return (this.salarioA+this.salarioB);
}
public int getHorasAdm()
{
return this.horasAdm;
}
}//fim da classe Administrativo

public class Docente extends Funcionario
{
private double salarioB, salarioD;
private int horasAula;
public Docente (String n, int id, int h)
{
super(n,id,h);
}
public void setHorasAula(int hAula)
{
this.horasAula=hAula;
super.setHoras(hAula);
}
public double getSalario()
{
this.salarioB=super.getSalario();
this.salarioD=(double)this.horasAula*super.getValorHora();
return (this.salarioD+this.salarioB);
}
public int getHorasAula()
{
return this.horasAula;
}
}//fim da classe Docente

public class Pesquisador extends Funcionario
{
private double salarioP, salarioB;
private int horasPesquisa;
public Pesquisador (String n, int id, int h)
{
super(n,id,h);
}
public void setHorasPesq(int hPesquisador)
{
this.horasPesquisa=hPesquisador;
super.setHoras(hPesquisador);
}
public double getSalario()
{
this.salarioB=super.getSalario();
this.salarioP=(double)this.horasPesquisa*super.getValorHora();
return(this.salarioP+this.salarioB);
}
public int getHorasPesquisa()
{
return this.horasPesquisa;
}
}//fim da classe Pesquisador

import javax.swing.JFrame;

import javax.swing.JTextArea;

import javax.swing.JScrollPane;

import javax.swing.Box;
public class Curso extends JFrame

{

private JTextArea areaTexto;

private Funcionario[] func;

private static int index=0;

private String nome;

public Curso()

{

setTitle(Folha de Pagamento);

Box box = Box.createHorizontalBox();

for (int i=0; i<index; i++)

{

areaTexto.setText(String.format("%s: %s\n%s: %s\n%s: %d\n%s: %d\n%s: %.2f\n%s: %.2f\n\n",Curso,nome,Nome,func[i].getNome(),Identificação,func[i].getIdentificacao(),Horas trabalhadas,func[i].getHoras(),valor da hora,func[i].getValorHora(),Salario,func[i].getSalario()));

box.add(areaTexto);

}

areaTexto = new JTextArea(10,15);

areaTexto.setEditable(false);

<a href="//box.add">//box.add</a>(new JScrollPane(areaTexto));

add(box);

}

public Curso(String tNome, int qtFuncionario)

{

func = new Funcionario[qtFuncionario];

nome=tNome;

}

public void addFuncionario(Funcionario addfunc)

{

func[index]=addfunc;

index++;

}

public static void setQuantCadastrada(int qt)

{

index=qt;

}

}//fim da classe Curso

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;
public class Tela extends JFrame

{

Curso curso;

int cont=0;

String qtFuncionarios,nome;

JPanel pEscolha = new JPanel();

JPanel pDados = new JPanel();

JPanel pBotoes = new JPanel();

JButton botaoAdicionar, botaoCancelar, botaoGerar;

JLabel boxLegenda;
JComboBox boxTipo;

JLabel lNome,lIdent, lHoras, lValorHora;

JLabel lHorasTipo = new JLabel();

JTextField fNome, fIdent, fHoras, fHorasTipo,fValorHora;
public Tela()

{

setTitle(Cadastro da Follha de Pagamento dos Funcionários);

setSize(600, 230);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

getContentPane().add(montaPainelEscolha(), BorderLayout.NORTH);

getContentPane().add(montaPainel(), BorderLayout.CENTER);

getContentPane().add(montaPainelBotoes(), BorderLayout.SOUTH);
nome = JOptionPane.showInputDialog("Informe o nome do Curso.");
  qtFuncionarios = JOptionPane.showInputDialog("Informe a quantidade de funcionários do Curso.");
  curso = new Curso(nome,Integer.parseInt(qtFuncionarios));
}

private JPanel montaPainelEscolha()

{

boxLegenda = new JLabel(Escolha o tipo de funcionário: );

boxTipo = new JComboBox();

boxTipo.addItem(Administrativo);

boxTipo.addItem(Docente);

boxTipo.addItem(Pesquisador);

TrataEventoEscolha eventoEsc = new TrataEventoEscolha();

eventoEsc.actionPerformed(null);

boxTipo.addActionListener(eventoEsc);

pEscolha.add(boxLegenda);

pEscolha.add(boxTipo);

return pEscolha;

}

private JPanel montaPainel()

{

pDados.setLayout(new GridLayout(5,2));

lNome = new JLabel(Nome do funcionario: );

fNome = new JTextField(20);

lIdent = new JLabel(Identificação: );

fIdent = new JTextField(10);

lHoras = new JLabel(Horas trabalhadas: );

fHoras = new JTextField(10);

fHorasTipo = new JTextField(10);

lValorHora = new JLabel(Valor da Hora: );

fValorHora = new JTextField(10);

pDados.add(lNome);

pDados.add(fNome);

pDados.add(lIdent);

pDados.add(fIdent);

pDados.add(lHoras);

pDados.add(fHoras);

pDados.add(lHorasTipo);

pDados.add(fHorasTipo);

pDados.add(lValorHora);

pDados.add(fValorHora);

return pDados;

}

private JPanel montaPainelBotoes()

{

botaoAdicionar = new JButton(Adicionar);

botaoCancelar = new JButton(Cancelar);

botaoGerar = new JButton(Gerar Folha de Pagamento);

TrataEventoAdicionar eventoAd = new TrataEventoAdicionar();

botaoAdicionar.addActionListener(eventoAd);

TrataEventoCancelar eventoCan = new TrataEventoCancelar();

botaoCancelar.addActionListener(eventoCan);

TrataEventoGerar eventoGerar = new TrataEventoGerar();

botaoGerar.addActionListener(eventoGerar);

pBotoes.add(botaoAdicionar);

pBotoes.add(botaoCancelar);

pBotoes.add(botaoGerar);

return pBotoes;

}

private void limpar()

{

fNome.setText(””);

fIdent.setText(””);

fHoras.setText(””);

fHorasTipo.setText(””);

fValorHora.setText(””);

}

private void adicionar()

{

if(cont<(Integer.parseInt(qtFuncionarios)))

{

switch (boxTipo.getSelectedIndex())

{

case 0:

{

Administrativo ad = new Administrativo(fNome.getText(),Integer.parseInt(fIdent.getText()),Integer.parseInt(fHoras.getText()));

ad.setHorasAdm(Integer.parseInt(fHorasTipo.getText()));

ad.setValorHora(Double.parseDouble(fValorHora.getText()));

curso.addFuncionario(ad);

break;

}

case 1:

{

Docente doc = new Docente(fNome.getText(),Integer.parseInt(fIdent.getText()),Integer.parseInt(fHoras.getText()));

doc.setHorasAula(Integer.parseInt(fHorasTipo.getText()));

doc.setValorHora(Double.parseDouble(fValorHora.getText()));

curso.addFuncionario(doc);

break;

}

case 2:

{

Pesquisador pe = new Pesquisador(fNome.getText(),Integer.parseInt(fIdent.getText()),Integer.parseInt(fHoras.getText()));

pe.setHorasPesq(Integer.parseInt(fHorasTipo.getText()));

pe.setValorHora(Double.parseDouble(fValorHora.getText()));

curso.addFuncionario(pe);

break;

}

}

cont++;

}

if(cont>=(Integer.parseInt(qtFuncionarios)))

{

JOptionPane.showMessageDialog(this, foram cadastrados os +cont+ funcionários,AVISO,JOptionPane.WARNING_MESSAGE);

fNome.setEditable(false);

fIdent.setEditable(false);

fHoras.setEditable(false);

fHorasTipo.setEditable(false);

fValorHora.setEditable(false);

botaoAdicionar.setEnabled(false);

}

limpar();

}
private void gerar()

{

curso.setSize(400,400);

curso.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

curso.setVisible(true);

if(cont>=(Integer.parseInt(qtFuncionarios)))

{

Curso.setQuantCadastrada(Integer.parseInt(qtFuncionarios));

JOptionPane.showMessageDialog(this,Folha de pagamento gerado com sucesso!);

}

else

Curso.setQuantCadastrada(cont);

JOptionPane.showMessageDialog(this,Folha de pagamento gerado com sucesso!);

}

class TrataEventoEscolha implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

switch (boxTipo.getSelectedIndex())

{

case 0:

{

lHorasTipo.setText("Horas Administrativas: ");

break;

}

case 1:

{

lHorasTipo.setText("Horas Docente: ");

break;

}

case 2:

{

lHorasTipo.setText("Horas Pesquisador: ");

break;

}

}

}

}
class TrataEventoAdicionar implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

adicionar();

}

}
class TrataEventoCancelar implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

limpar();

}

}

class TrataEventoGerar implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
gerar();
}
}
}//fim da classe Tela

public class Main
{
public static void main(String[] args)
{
Tela t = new Tela();
t.setVisible(true);
}
}

Des de já eu agradeço a ajuda

1 Resposta

L

Olá amigo,
Tente especificar mais sua dúvida, que ferramentas está utilizando, e o principal, quando for colar seu código, utilize as tags [CODE] do fórum.

Abraços

Criado 15 de janeiro de 2008
Ultima resposta 15 de jan. de 2008
Respostas 1
Participantes 2