Galera, porque minha JFrame ta dando erro?

5 respostas Resolvido
jframeprogramaçãoswingjava
D

To quebrando meu código em classes e pacotes, mas minha JFrame da esses erros, vejam:

package gui;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class TelaPrincipal extends JFrame implements ActionListener{
    
    public TelaPrincipal(){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Sistema de Cadastro");
        setSize(550,450);//Define Tamando da Janela
        setLocation(700,300);//Centraliza à Janela
        
    }
    
    
    private JMenuBar barraMenu;
    
    private JMenu menuAluno;
    private JMenu menuProfessor;
    private JMenu menuCurso;
    private JMenu menuSistema;
    
    private JMenuItem itemCadastrarAluno;
    private JMenuItem itemProcurarAluno;
    private JMenuItem itemRemoverAluno;
    
    private JMenuItem itemCadastrarProfessor;
    private JMenuItem itemProcurarProfessor;
    private JMenuItem itemRemoverProfessor;
    
    private JMenuItem itemCadastrarCurso;
    private JMenuItem itemProcurarCurso;
    private JMenuItem itemRemoverCurso;
    
    private JMenuItem itemSistemaSobre;
    private JMenuItem itemSistemaSair;

    barraMenu.add(menuAluno);
    menuAluno.add(itemCadastrarAluno);
    menuAluno.add(itemProcurarAluno);
    menuAluno.add(itemRemoverAluno);
    
    
    
    barraMenu.add(menuCurso);
    //add itens no Menu Curso
    menuCurso.add(itemCadastrarCurso);
    menuCurso.add(itemProcurarCurso);
    menuCurso.add(itemRemoverCurso);
    
    barraMenu.add(menuSistema);
    menuSistema.add(itemSobreSistema);
    menuSistema.add(itemSairSistema);
    
    getContentPane().add(barraMenu, BorderLayout.NORTH);// Exibir a barra no Painel
      
    setVisible(true);//Tornar Painel visível
    
    @Override
   
    public void actionPerformed(ActionEvent e) {
        
    }
    
}

5 Respostas

K
Solucao aceita

Simples, no corpo da classe você só pode delcarar atributos, classes e metodos e dentro dos metodos é que você chama outrosa metodos.

private void metodoExempo(){
barraMenu.add(menuAluno);
menuAluno.add(itemCadastrarAluno);
menuAluno.add(itemProcurarAluno);
menuAluno.add(itemRemoverAluno);
}

@Override

public void actionPerformed(ActionEvent e) {
metodoExempo()
}

um exemplo simples

D

Sabe pq aqui da erro tbm?

package gui;
import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class CadastrarAluno extends JDialog implements ActionListener{

private JLabel jlnomealuno;

private JLabel jlcpfaluno;

private JLabel jlidadealuno;

private JLabel jlcursoaluno;
private JTextField txtcadastrarnomealuno;

private JTextField txtcadastrarcpfaluno;

private JTextField txtcadastraridadealuno;

private JTextField txtcadastrarcursoaluno;
private JButton btcadastraraluno;

private JButton btcancelarcadastraraluno;

public CadastrarAluno(JFrame pai){

super(pai);

JDialog caixacadastraraluno = new JDialog(); //Instancia uma nova caixa de diálogo para

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //Mostra Botão de fechar da Caixa?

setBounds(775, 450, 350, 210); //Define o tamanho da caixa

setTitle(Cadastrar Aluno); //Define o título da caixa

setModal(true); // Perguntar a professora; //Seria pra ter caixs com modos diferentes também?

setResizable(true); //Redimenciona a caixa
jlnomealuno = new JLabel(" Nome: "); //Instancia um novo rótulo
    jlcpfaluno = new JLabel(" CPF:"); //Instancia um novo rótulo
    jlidadealuno = new JLabel(" Idade: "); //Instancia um novo rótulo
    jlcursoaluno = new JLabel(" Curso: "); //Instancia um novo rótulo

    txtcadastrarnomealuno = new JTextField();
    txtcadastrarcpfaluno = new JTextField();
    txtcadastraridadealuno = new JTextField();
     txtcadastrarcursoaluno = new JTextField();
    
    
    
    btcadastraraluno = new JButton("Cadastrar"); //Instancia o botão "Cadastrar" 
    btcadastraraluno.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            txtcadastrarnomealuno.setText(null);
            txtcadastrarcpfaluno.setText(null);
            txtcadastraridadealuno.setText(null);
            txtcadastrarcursoaluno.setText(null);
        }  
        });
    btcancelarcadastraraluno = new JButton("Cancelar"); //Instancia o botão "Cadastrar" 
    btcancelarcadastraraluno.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            txtcadastrarnomealuno.setText(null);
            txtcadastrarcpfaluno.setText(null);
            txtcadastraridadealuno.setText(null);
            txtcadastrarcursoaluno.setText(null);
        }  
        }); 
   
            

         
}

}

K

Cara você esta fazebdo algum curso ou peguo esse codigo e malgu tutorial?
Você tem que dar uma olhada nos conceitos.

Na assinatura da sua classe você disse que iria implementar a interface ActionListener

public class CadastrarAluno extends JDialog implements ActionListener

Essa interface te obriga a implementar o metodo actionPerformed

<a class="mention" href="/u/override">@Override</a>

public void actionPerformed(ActionEvent e){

}
D

Cara, eu só postei uma parte do meu código, to querendo quebrar ele todo; pq fiz tudo na classe main; e agora que to tentando quebrar ele em pacotes e classes, to meio perdido, e sim faço S.I.
Olha:

Ele ta quase prontinho, mas quero dividir ele em classes, pq do jeito que eu fiz, não tem o conceito de POO, mas to me enrolando;

D

Ai tirei “CadastarAluno” da classe main e coloquei em uma classe, mas ele pede pra add um ActionListener, mas o q eu n entendo é que eu já tenho dois “Actions” nessa classe e esse que ta lá em baixo, eu vou usar pra q? os que eu já tenho não sobrepõem o método “Action”?
package gui;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class CadastrarAluno extends JDialog implements ActionListener{

private JLabel jlnomealuno;

private JLabel jlcpfaluno;

private JLabel jlidadealuno;

private JLabel jlcursoaluno;
private JTextField txtcadastrarnomealuno;

private JTextField txtcadastrarcpfaluno;

private JTextField txtcadastraridadealuno;

private JTextField txtcadastrarcursoaluno;

private JButton btcadastraraluno;
private JButton btcancelarcadastraraluno;

public CadastrarAluno(JFrame pai){
    super(pai);
    JDialog caixacadastraraluno = new JDialog(); //Instancia uma nova caixa de diálogo para 
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //Mostra Botão de fechar da Caixa?
    setBounds(775, 450, 350, 210); //Define o tamanho da caixa
    setTitle("Cadastrar Aluno"); //Define o título da caixa
    setModal(true); // Perguntar a professora; //Seria pra ter caixs com modos diferentes também?
    setResizable(true); //Redimenciona a caixa
    
    btcadastraraluno = new JButton("Cadastrar"); //Instancia o botão "Cadastrar" 
    btcadastraraluno.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            txtcadastrarnomealuno.setText(null);
            txtcadastrarcpfaluno.setText(null);
            txtcadastraridadealuno.setText(null);
            txtcadastrarcursoaluno.setText(null);
        }  
        });
    btcancelarcadastraraluno = new JButton("Cancelar"); //Instancia o botão "Cancelar"
            btcancelarcadastraraluno.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){

            caixacadastraraluno.setVisible(false);
        }
    });
   
}

@Override //Esse aqui!!!!!!!!!
public void actionPerformed(ActionEvent e) {
    
}

}

Criado 12 de maio de 2017
Ultima resposta 12 de mai. de 2017
Respostas 5
Participantes 2