Set[RESOLVIDO]

10 respostas
D

Olá a todos. Bom, sou novo em Java e estou com a seguinte dúvida:

No meu projeto tenho a classe Professor, que por sua vez tem vários atributos. Dentre eles, o atributo turmaProfessor, que é do tipo Turma.

Então eu gostaria de saber como faço para que no frame, quando eu selecionar a turma do professor, esta seja armazenada em turmaProfessor.

Eu tentei assim:

Professor p = new Professor();
p.setTurmaProfessor(jTextField6.getText());

Mas dá erro, diz que o parâmetro tem que ser do tipo Professor, e não String…

O que faço?

Grato pela atenção.

10 Respostas

E
p.setTurmaProfessor(jTextField6.getText());

O erro ocorre nessa linha? Poste a definição do método setTurmaProfessor

D

entanglement:
p.setTurmaProfessor(jTextField6.getText());

O erro ocorre nessa linha? Poste a definição do método setTurmaProfessor

Sim, nesta linha.

Classe Professor, com seus gets e sets:

public class Professor {
    
    public int codigoProfessor;
    public String telefoneProfessor;
    public String nomeProfessor;
    public String enderecoProfessor;
    public String nascimentoProfessor;
    public String emailProfessor;
    public Turma turmaProfessor;
    public String sexoProfessor;

    /**
     * @return the codigoProfessor
     */
    public int getCodigoProfessor() {
        return codigoProfessor;
    }

    /**
     * @param codigoProfessor the codigoProfessor to set
     */
    public void setCodigoProfessor(int codigoProfessor) {
        this.codigoProfessor = codigoProfessor;
    }

    /**
     * @return the telefone
     */
    public String getTelefoneProfessor() {
        return telefoneProfessor;
    }

    /**
     * @param telefone the telefone to set
     */
    public void setTelefoneProfessor(String telefoneProfessor) {
        this.telefoneProfessor = telefoneProfessor;
    }

    /**
     * @return the nomeProfessor
     */
    public String getNomeProfessor() {
        return nomeProfessor;
    }

    /**
     * @param nomeProfessor the nomeProfessor to set
     */
    public void setNomeProfessor(String nomeProfessor) {
        
        this.nomeProfessor = nomeProfessor;
     
    }
        

    /**
     * @return the endereco
     */
    public String getEnderecoProfessor() {
        return enderecoProfessor;
    }

    /**
     * @param endereco the endereco to set
     */
    public void setEnderecoProfessor(String enderecoProfessor) {
        this.enderecoProfessor = enderecoProfessor;
    }

    /**
     * @return the DataNascimento
     */
    public String getNascimentoProfessor() {
        return nascimentoProfessor;
    }

    /**
     * @param DataNascimento the DataNascimento to set
     */
    public void setNascimentoProfessor(String NascimentoProfessor) {
        
        this.nascimentoProfessor = nascimentoProfessor;
        
    }

    /**
     * @return the email
     */
    public String getEmailProfessor() {
        return emailProfessor;
    }

    /**
     * @param email the email to set
     */
    public void setEmailProfessor(String emailProfessor) {
        this.emailProfessor = emailProfessor;
    }

    /**
     * @return the turmaProfessor
     */
    public Turma getTurmaProfessor() {
        return turmaProfessor;
    }

    /**
     * @param turmaProfessor the turmaProfessor to set
     */
    public void setTurmaProfessor(Turma turmaProfessor) {
        this.turmaProfessor = turmaProfessor;
    }

    /**
     * @return the sexoProfessor
     */
    public String getSexoProfessor() {
        return sexoProfessor;
    }

    /**
     * @param sexoProfessor the sexoProfessor to set
     */
    public void setSexoProfessor(String sexoProfessor) {
        this.sexoProfessor = sexoProfessor;
    }
    
}

CadastrarProfessor:

package geresc.Professor;

import geresc.Aluno.cadastrarAluno;
import geresc.Conexao.Conexao;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;


    public CadastrarProfessor(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        
        jComboBox1.removeAllItems();
        jComboBox1.addItem("Masculino");
        jComboBox1.addItem("Feminino");
        
        try {
            
            List<String> dados = new ArrayList<String>();
            Conexao c = new Conexao();
            Statement conex = c.conectar();
            ResultSet resultado = conex.executeQuery("SELECT nomeTurma FROM Turma");

            while (resultado.next()) {
                
                dados.add(resultado.getString("nomeTurma"));
            }

            jList1.setListData(dados.toArray());
            
        } catch (Exception ex) {
            
            Logger.getLogger(cadastrarAluno.class.getName()).log(Level.SEVERE, null, ex);
            
        }
    }                   

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
         try {
            // TODO add your handling code here:
            Professor  p = new Professor();
            p.setNomeProfessor(jTextField1.getText());
            p.setCodigoProfessor(Integer.parseInt(jTextField2.getText()));
            p.setEnderecoProfessor(jTextField3.getText()); 
            p.setTelefoneProfessor(jTextField5.getText());
            p.setEmailProfessor(jTextField4.getText());
            p.setNascimentoProfessor(jFormattedTextField1.getText());
            p.setSexoProfessor(jComboBox1.getSelectedItem().toString());
            p.setTurmaProfessor(jTextField6.getText());
            
            Repositorio r = new Repositorio();
            r.inserir(p);
            JOptionPane.showMessageDialog(rootPane, "Professor cadastrado com sucesso");
            
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(rootPane, ex.getMessage());
        }
    }
Fellipex

Amigo, você está tentando passar uma String(jTextField.getText), para um método que espera um objeto do tipo Turma.
Existe realmente a classe Turma?
Está correta esta modelagem? Ou turma do professor seria um atributo do tipo String mesmo, Ex: “Turma B”
Se realmente Turma for uma classe quais são os atributos desta classe?
Como eu disse anteriormente o erro é tentar passar um String que é o getText para o método setTurmaProfessor que espera um objeto do tipo Turma, porém não consigo lhe ajudar mais por falta de informações, se existir a classe Turma professor poste-a , senão altera para ser uma String. Att

marcelo.silva.java

primeiramente vc vai ter que fazer a composição

Professor p = new Professor();

Turma turma = new Turma();

p.turmaProfessor = turma;

feito isso vc tem que jogar o valor do textField mais ou menos assim

p.setTurmaProfessor().setNome(jTextField6.getText());
D

Fellipex:
Amigo, você está tentando passar uma String(jTextField.getText), para um método que espera um objeto do tipo Turma.
Existe realmente a classe Turma?
Está correta esta modelagem? Ou turma do professor seria um atributo do tipo String mesmo, Ex: “Turma B”
Se realmente Turma for uma classe quais são os atributos desta classe?
Como eu disse anteriormente o erro é tentar passar um String que é o getText para o método setTurmaProfessor que espera um objeto do tipo Turma, porém não consigo lhe ajudar mais por falta de informações, se existir a classe Turma professor poste-a , senão altera para ser uma String. Att

É assim: turmaProfessor é uma chave estrangeira da classe Turma. A classe Turma realmente existe, sim. Sendo turmaProfessor uma FK o tipo tem que ser Turma, ou estou errado?

Fellipex
p.setTurmaProfessor().setNome(jTextField6.getText());

Corrigindo o exemplo do amigo

p.getTurmaProfessor().setNome(jTextField6.getText());
D
marcelo.silva.java:
primeiramente vc vai ter que fazer a composição
Professor p = new Professor();

Turma turma = new Turma();

p.turmaProfessor = turma;

feito isso vc tem que jogar o valor do textField mais ou menos assim

p.setTurmaProfessor().setNome(jTextField6.getText());

Boa, cara...ajudou muito! Fica assim:

Turma turma = new Turma();

p.turmaProfessor = turma;

p.getTurmaProfessor().setNomeTurma(jTextField6.getText());

Um abraço!

D

Fellipex:
p.setTurmaProfessor().setNome(jTextField6.getText());
Corrigindo o exemplo do amigo

p.getTurmaProfessor().setNome(jTextField6.getText());

Exatamente! Obrigado!

Fellipex

Só uma dica , acabei vendo o seu código e você pode mudar umas coisas. Altere todos os atributos do professor para PRIVATE ao invés de PUBLIC. Pois não é correto classes externas terem acesso diretamente aos atributos, justamente por isso você cria os getters e setters. E corrija isso também

Ali aonde você faz

//maneira errada de acessar atributos. Se forem privados(correto) não irá nem compilar.
 p.turmaProfessor  = turma;

o corretor seria

p.setTurmaProfessor(turma)

Assim como você fez para os outros atributos, matendo o conceito de encapsulamento correto

D

Fellipex:
Só uma dica , acabei vendo o seu código e você pode mudar umas coisas. Altere todos os atributos do professor para PRIVATE ao invés de PUBLIC. Pois não é correto classes externas terem acesso diretamente aos atributos, justamente por isso você cria os getters e setters. E corrija isso também

Ali aonde você faz

//maneira errada de acessar atributos. Se forem privados(correto) não irá nem compilar.
 p.turmaProfessor  = turma;

o corretor seria

p.setTurmaProfessor(turma)

Assim como você fez para os outros atributos, matendo o conceito de encapsulamento correto

Obrigado pela dica, Felipe. Vou corrigir isso agora mesmo.

Abraço!

Criado 24 de outubro de 2012
Ultima resposta 24 de out. de 2012
Respostas 10
Participantes 4