Utilizar Metodo de Outro jFrame Form

8 respostas
douglasduarte360

Bom dia,
Tenho dois form. "Aluno","Editar". No form Aluno aparece uma tabela com todos os alunos, agora eu quero que ao clicar no aluno, abra o form Editar ja com os dados setados.
Segue o que tentei fazer mais não da. O form Editar aparece em branco.

Aluno Essa é a ação do botao "Editar"
try {
            Editar edit = new Editar(null, rootPaneCheckingEnabled); //Cria o Objeto do Form Editar;

            int linha_selecionada = jTablealuno.getSelectedRow();
            if (linha_selecionada == -1) {
                JOptionPane.showMessageDialog(null, "Escolha um aluno");

            } else {
                String a = jTablealuno.getValueAt(linha_selecionada, 0).toString(); // Guarda o valor selecionado
                String b = jTablealuno.getValueAt(linha_selecionada, 1).toString(); // Guarda o valor selecionado

                edit.seta(a, b);//Aqui era para setar os valores das variaveis. Esse metodo esta no meu outro form.
                new Editar(null, rootPaneCheckingEnabled).show(); // Aqui chama o Form porem ele Abre em branco



            }        // TODO add your handling code here:
        } catch (SQLException ex) {
            Logger.getLogger(Edit_Aluno.class.getName()).log(Level.SEVERE, null, ex);
        }
Editar
public Editar(java.awt.Frame parent, boolean modal) throws SQLException {
        super(parent, modal);
        initComponents();
        seta(a, b);//carregando assim que é aberto a tela

    }

    public void seta(String a, String b) {//metodo que seta os valores das variaveis que vem do form Aluno
        jTextField1.setText(a);
        jTextField2.setText(b);

    }

8 Respostas

yurifw

http://www.guj.com.br/java/288909-eventos-entre-frames-diferentes-resolvido
ve se isso responde sua duvida xD

douglasduarte360

yurifw:
http://www.guj.com.br/java/288909-eventos-entre-frames-diferentes-resolvido
ve se isso responde sua duvida xD

E isso que eu quero.
Porem quando vou instanciar o metodo no outro form ele nao deixa.

FrmEvento frmEvento = new FrmEvento(cliente);//aparece que não é para ter nenhum argumento

yurifw

vc criou o construtor que pede um argumento do tipo que voce quer?

douglasduarte360
yurifw:
vc criou o construtor que pede um argumento do tipo que voce quer?
Sim
public Editar() {
        initComponents();
    }

  

       public Editar(Edit_Aluno nome, Edit_Aluno id) {
        initComponents();
        jTextField2.setText(nome.getName());
        jTextField1.setText(nome.getName());
        
        
    }
String id = jTablealuno.getValueAt(linha_selecionada, 0).toString(); // Guarda a Coluna 0=ID
                String nome = jTablealuno.getValueAt(linha_selecionada, 1).toString(); // Guarda a Coluna 1=Nome
                
            Editar edit = new Editar(nome,id)//da erro nessa linha;
yurifw

algumas observações:
da uma lida em nomenclatura, n se usa ‘_’ em nome de classe, melhor seria EditAluno

ou eu n entendi o q vc fez, ou vc ta pedindo dois argumentos do mesmo tipo desnecessariamente. essa clase EditAluno deve ter o campo id e o nome n tem?
entao vc poderia colocar como parametro so um objeto EditAluno, e usar aluno.getNome() e aluno.getId() (no seu metodo vc ta pegando o nome 2x, é isso mesmo?)

e n ta compilando por isso mesmo, vc ta pedindo 2 argumentos e so ta passando um, conserta isso ai q vai funcionar xD

yurifw

mais uma coisa, seu metodo ta pedindo 2 objetos Edit_Aluno, e vc ta passado duas Strings, da uma olhada na explicação do link q eu postei, e diz o q vc n ta entendendo xD

douglasduarte360

Sim tem o campo id e nome.
Mas para isso eu teria que criar os get/set certo ?

O metodo seria assim ?

public EditarCadastro(Edit_Aluno campos){
   initComponents();
   jTextID.setText(campos.getId());
   jTextNome.setText(campos.getNome());
   }

Não estou conseguindo chamar esse metodo no meu outro form

yurifw

qual o erro q aparece cara?

Criado 19 de março de 2013
Ultima resposta 20 de mar. de 2013
Respostas 8
Participantes 2