To tentando implementar meu codigo de adicionar funcionarios em interface grafica, aparentemente nao da erros mas quando copilo causa esseçoes me ajuda ai galera!
ta assim o metodo adiciona cria uma instacia de quantos funcionarios cadastrar, apos isso invoca o metodo adiciona dados,apos ele adiciona o funcionario e seus dados no vetor empregado;
//classe e metodo principal
public class Escola {
public static void main(String[] args) {
Janela app=new Janela();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}//fim metodo principal
}//fim classe principal
//classe funcionarios
import java.awt.Container;
import java.util.Scanner;
import static javafx.application.Platform.exit;
import javax.swing.*;
public class Funcionarios extends JFrame{
JLabel nome,salario,profissão,cracha;
private JTextField nomeT,salarioT,profissãoT,crachaT,nFuncionario;
private JButton ok,cancelar;
Container tela=getContentPane();
static Funcionarios[] empregado=new Funcionarios[100];
public Funcionarios(){
super("Cadastro");
setLayout(null);
setSize(500,300);
setLocationRelativeTo(null);
//tela
tela.add(this.adiciona());
setVisible(true);
}
//metodo adiciona funcionarios
public Funcionarios adiciona(){
JLabel mensagem;
//recebe o n de funcionarios a ser cadastrado
mensagem=new JLabel();
mensagem.setVisible(true);
mensagem.setBorder(BorderFactory.createTitledBorder("Quantos funcionários deseja adicionar?"));
mensagem.setBounds(100,40,100,30);
//textfield
nFuncionario=new JTextField(10);
nFuncionario.setBounds(100,60,30,20);
int adc;
Funcionarios[] f1=new Funcionarios[adc=Integer.parseInt(nFuncionario.getText())];
for(int i=0;i<f1.length;i++){
Funcionarios f=new Funcionarios();//adiciona novo funcionario
//contador
mensagem=new JLabel();
mensagem.setBorder(BorderFactory.createTitledBorder("Digite os dados do Funcionario:"+"%20d(i+1)"));
f.adicionaDados();//dados funcionario
f1[i]=f;//adiciona funcionario a lista
mensagem.setVisible(false);
}
this.empregado=f1;
return adiciona();
}
//metodo consulta funcionario
/* public void consulta(){
Scanner user=new Scanner(System.in);
//verifica se ha funcionarios cadastrados qundo metodo é acionado
if(this.empregado==null){
System.out.println("Não ha funcionarios cadastrados!");
exit();
}else{
for(int i=0;i<empregado.length;i++){
System.out.println("Funcionarios cadastrados"+this.empregado.length);
//mostra os dados de cada funcionario
System.out.println("\nDeseja ver os dados de algum funcionario?\n digite: true-sim / false=não ");
boolean usuario=user.nextBoolean();
while(usuario == true){
System.out.println("\nDigite o n inscrição do funcionario: ");
i=user.nextInt();
this.empregado[i].mostra();
//break;
System.out.println("\n\nDeseja realizar outra consulta?\n true-sim \nfalse-nao");
usuario=user.nextBoolean();
}
}
}
}*/
public Funcionarios adicionaDados(){
//label de dados funcionario
nome=new JLabel("nome:");
nome.setBounds(50,50,50,30);
nomeT=new JTextField(200);
nomeT.setBounds(130,50,200,30);
//
cracha=new JLabel("crachá:");
cracha.setBounds(50,90,50,30);
crachaT=new JTextField(200);
crachaT.setBounds(130,90,100,30);
//
salario=new JLabel("salario:");
salario.setBounds(50,120,50,30);
salarioT=new JTextField(200);
salarioT.setBounds(130,120,100,30);
//
profissão=new JLabel("profissão:");
profissão.setBounds(50,150,90,30);
profissãoT=new JTextField(200);
profissãoT.setBounds(130,150,100,30);
return adicionaDados();
}
//metodo mostra
/* public void mostra(){
System.out.println("Nome: "+this.getNome());
System.out.println("Cracha: "+this.getCracha());
System.out.println("Profissão: "+this.getProfissão());
System.out.println("Salario: "+this.getSalario());
}*/
}
//classe Janela
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.*;
public class Janela extends JFrame {
Container tela=getContentPane();
JButton cadastro,adicionaF;//
JLabel nome,salario,profissão,cracha;
private JTextField nomeT,salarioT,profissãoT,crachaT,nFuncionario;
//
Janela(){
super("Ficha Funcionarios");
adicionaF=new JButton("Adiciona");
adicionaF.setBounds(200,300,100,20);
adicionaF.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
new Funcionarios().setVisible(true);
}
});
//basico tela
setSize(720,720);
setLocationRelativeTo(null);
setLayout(null);
tela.add(adicionaF);
setVisible(true);
}
}
