Ajuda na criação de um Sistema Acadêmico

2 respostas
programaçãojava
A

Boa noite, pessoal. Sou novata na área de programação e preciso da ajuda de vcs para orientar-me na criação de um projeto java.

Eu tenho que criar um Sistema Acadêmico que funcione assim:

  • Precisa ter 3 perfis de usuário (Adm, Aluno e Professor) todos com senha e login para acessar, sendo que a tela de login deve requerer dados diferentes para logar;
  • Somente o Adm pode cadastrar, excluir e atualizar alunos, professores, turmas e disciplinas
  • As turmas são compostas por 1 disciplina, 1 professor e 1 ou mais alunos
  • O professor só pode ter acesso as suas turmas e deve lançar notas e faltas no alunos.
  • O aluno deverá ver as notas e faltas cadastradas pelo professor.

Eu já criei um JForm para o login do Adm e consegui redirecioná-lo para uma tela onde poderá cadastrar os dados dos professores em uma JTable. E eu queria utilizar os dados cadastrados pelo Adm para o login do professor, mas não sei como fazer.

2 Respostas

rodriguesabner

está usando ArrayList? Provalvemente você já montou tudo, então pra fazer o login é simples

manda o q vc ja fez

A

Tela de Login Inicial (que direciona para a tela de login do adm, professor ou aluno)

public TelaLogin() {
    initComponents();
}

@SuppressWarnings("unchecked")

    pack();
    setLocationRelativeTo(null);
}// </editor-fold>                        

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    
    if(loginform.getSelectedItem().equals("Selecione")){
        JOptionPane.showMessageDialog(null, "Selecione uma forma de login");
    }
    
    if(loginform.getSelectedItem().equals("Administrador")){
        TelaLoginAdm tladm = new TelaLoginAdm(this,true);
        tladm.setVisible(true);
        
        this.setVisible(false);
    }
    
    if(loginform.getSelectedItem().equals("Professor")){
        TelaLoginProfessor tlp = new TelaLoginProfessor(this,true);
        tlp.setVisible(true);
        
        this.setVisible(false);
    }
    
    if(loginform.getSelectedItem().equals("Aluno")){
        TelaLoginAluno tlal = new TelaLoginAluno(this,true);
        tlal.setVisible(true);
        
        this.setVisible(false);
    }
}                                        

// Variables declaration - do not modify                     
private javax.swing.JLabel SisTxt;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JComboBox<String> loginform;
private javax.swing.JPanel painelLog;
// End of variables declaration                   }

Tela de Principal do Adm

private void professoresMenuActionPerformed(java.awt.event.ActionEvent evt) {                                                
    
}                                               

private void sairAdmMouseClicked(java.awt.event.MouseEvent evt) {                                     
    this.setVisible(false);
    
    TelaLogin tl = new TelaLogin();
    tl.setVisible(true);
}                                    

private void professoresMenuMouseClicked(java.awt.event.MouseEvent evt) {                                             
    TelaProfessor telaProf = new TelaProfessor();
    jDesktopPane1.add(telaProf);
    telaProf.setVisible(true);
}                                            


// Variables declaration - do not modify                     
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenu professoresMenu;
private javax.swing.JMenu sairAdm;
// End of variables declaration

Tela de Cadastro dos Professores

public class TelaProfessor extends javax.swing.JInternalFrame {

ProfessoresTableModel tableModel = new ProfessoresTableModel(); //criar modelo da tabela

public TelaProfessor() {
    initComponents();
    
    TabelaProfessor.setModel(tableModel); //setar modelo da tabela
}

@SuppressWarnings("unchecked")

private void nomeAreaActionPerformed(java.awt.event.ActionEvent evt) {
}

private void cadastrarBotaoActionPerformed(java.awt.event.ActionEvent evt) {                                               
    
    Professores prof = new Professores();
    
    prof.setNome(nomeArea.getText());
    prof.setCpf(cpfArea.getText());
    prof.setFormacao(formacaoArea.getText());
    
    tableModel.addRow(prof);
}                                              

private void excluirBotaoActionPerformed(java.awt.event.ActionEvent evt) {                                             
    
    if(TabelaProfessor.getSelectedRow() != -1){
        tableModel.removeRow(TabelaProfessor.getSelectedRow());
    }
    
}                                            

private void atualizarBotaoActionPerformed(java.awt.event.ActionEvent evt) {                                               
    
    if(TabelaProfessor.getSelectedRow() != -1){
        tableModel.setValueAt(nomeArea.getText(), TabelaProfessor.getSelectedRow(), 0);
        tableModel.setValueAt(cpfArea.getText(), TabelaProfessor.getSelectedRow(), 1);
        tableModel.setValueAt(formacaoArea.getText(), TabelaProfessor.getSelectedRow(), 2);
    }
    
}                                              

private void botaoFecharActionPerformed(java.awt.event.ActionEvent evt) {                                            
    this.setVisible(false);
}                                           


// Variables declaration - do not modify                     
private javax.swing.JTable TabelaProfessor;
private javax.swing.JButton atualizarBotao;
private javax.swing.JButton botaoFechar;
private javax.swing.JButton cadastrarBotao;
private javax.swing.JFormattedTextField cpfArea;
private javax.swing.JLabel cpfTxt;
private javax.swing.JButton excluirBotao;
private javax.swing.JTextField formacaoArea;
private javax.swing.JLabel formacaoTxt;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane listaProfessor;
private javax.swing.JTextField nomeArea;
private javax.swing.JLabel nomeTxt;
// End of variables declaration

}

Professores (Não é uma tela, tá servindo na criação do JTable)

public class Professores {

private String nome;
private String cpf;
private String formacao;

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getCpf() {
    return cpf;
}

public void setCpf(String cpf) {
    this.cpf = cpf;
}

public String getFormacao() {
    return formacao;
}

public void setFormacao(String formacao) {
    this.formacao = formacao;
}

}

ProfessoreTableModel

public class ProfessoresTableModel extends AbstractTableModel{

private List<Professores> dados = new ArrayList<>();
private String[] colunas = {"Nome", "CPF", "Formação"}; //coulnas da tabel

@Override
public String getColumnName(int column) {
    return colunas[column]; //identificar as colunas
}

@Override
public int getRowCount() {
    return dados.size();
}

@Override
public int getColumnCount() {
    return colunas.length;
}

@Override
public Object getValueAt(int linha, int coluna) {
    
    switch(coluna){
        case 0:
            return dados.get(linha).getNome();
        case 1:
            return dados.get(linha).getCpf();
        case 2:
            return dados.get(linha).getFormacao();
    }
    
    return null;
}

@Override
public void setValueAt(Object valor, int linha, int coluna) { //atualizar ArrayList
    switch(coluna){
        case 0:
            dados.get(linha).setNome((String) valor);
            break;
        case 1:
            dados.get(linha).setCpf((String) valor);
            break;
        case 2:
            dados.get(linha).setFormacao((String) valor);
            break;
    }
    
    this.fireTableRowsUpdated(linha, linha); // atualizar na table
}



public void addRow(Professores prof){
    this.dados.add(prof);
    this.fireTableDataChanged(); // atualizar dados na tabela
    
}

public void removeRow(int linha){
    this.dados.remove(linha);
    this.fireTableRowsDeleted(linha, linha);
}}
Criado 20 de novembro de 2019
Ultima resposta 21 de nov. de 2019
Respostas 2
Participantes 2