acima tá a classe principal que será o pai e as outras classes vao herdar o menu e suas respectivas ações.
entretanto, se eu criar outra classe que irá herdar a principal e eu colocar IMPLEMENTS ACTION LISTENER as ações que foram herdadas nao funcionam, aparece o menu bonitinho tudo certinho mas nao funciona a ação. e começa a funcionar só a nova ação que eu criei nessa nova classe.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class consultar2 extends principal implements ActionListener{
JLabel veiculo, marca, modelo, ano, cor, renavan, chassi, categoria,placa;
JPanel p1,p2,p3,p4;
TextField marcatexto,modelotexto, cortexto, anotexto, renavantexto, chassitexto, categoriatexto;
JComboBox carro;
String a;
TextField placatexto;
JScrollPane SP;
JButton finalizar, voltar;
TextField tipobox;
JLabel valor, pontos , multa, data, horario, local, tipo, descricao;
TextField valortexto, pontostexto, datatexto, horariotexto, localtexto;
JTextArea desc, Ta;
public consultar2(){
setTitle("Sistema Gerenciador de Transido de São Paulo ");
setSize(800,600);
setLayout(null);
setResizable(false);
setLocationRelativeTo(null);
Container tela = getContentPane();
veiculo = new JLabel("Veículo");
veiculo.setLocation(5,5);
veiculo.setSize(100,15);
carro = new JComboBox();
carro.setLocation(80,05);
carro.setSize(120,20);
//
marca = new JLabel("Marca");
marca.setLocation(5,40);
marca.setSize(80,15);
marcatexto = new TextField();
marcatexto.setLocation(80,40);
marcatexto.setSize(220,20);
//
modelo = new JLabel("Modelo");
modelo.setLocation(340,40);
modelo.setSize(80,15);
modelotexto = new TextField();
modelotexto.setLocation(420,40);
modelotexto.setSize(220,20);
//
//
placa = new JLabel("Placa");
placa.setLocation(5,75);
placa.setSize(80,15);
placatexto = new TextField();
placatexto.setLocation(80,75);
placatexto.setSize(150,20);
//
//
cor = new JLabel("Cor");
cor.setLocation(260,75);
cor.setSize(80,15);
cortexto = new TextField();
cortexto.setLocation(320,75);
cortexto.setSize(150,20);
//
//
ano = new JLabel("Ano de fabricação");
ano.setLocation(5,110);
ano.setSize(115,15);
anotexto = new TextField();
anotexto.setLocation(120,110);
anotexto.setSize(150,20);
//
//
renavan = new JLabel("Renavan");
renavan.setLocation(300,110);
renavan.setSize(80,15);
renavantexto = new TextField();
renavantexto.setLocation(380,110);
renavantexto.setSize(150,20);
//
//
//
chassi = new JLabel("Chassi");
chassi.setLocation(5,145);
chassi.setSize(60,15);
chassitexto = new TextField();
chassitexto.setLocation(80,145);
chassitexto.setSize(150,20);
//
//
categoria = new JLabel("Categoria");
categoria.setLocation(250,145);
categoria.setSize(80,15);
categoriatexto = new TextField();
categoriatexto.setLocation(330,145);
categoriatexto.setSize(150,20);
//
//
///
p1 = new JPanel();
p1.setLayout(null);
p1.setBounds(00,00,790,175);
p1.setBackground(Color.WHITE);
p1.setBorder(BorderFactory.createBevelBorder(1,Color.gray,Color.gray));
//aki termina o 1 painel
//
//
//
p2 = new JPanel();
p2.setLayout(null);
p2.setBounds(00,172,790,150);
p2.setBackground(Color.WHITE);
p2.setBorder(BorderFactory.createBevelBorder(1,Color.gray,Color.gray));
multa = new JLabel("MULTAS");
multa.setLocation(350,05);
multa.setSize(80,15);
//
valor = new JLabel("Valor");
valor.setLocation(05,35);
valor.setSize(80,15);
valortexto = new TextField();
valortexto.setLocation(50,35);
valortexto.setSize(150,20);
//
//
pontos = new JLabel("Pontos");
pontos.setLocation(235,35);
pontos.setSize(80,15);
pontostexto = new TextField();
pontostexto.setLocation(300,35);
pontostexto.setSize(150,20);
//
//
tipo = new JLabel("Tipo");
tipo.setLocation(480,35);
tipo.setSize(80,15);
tipobox = new TextField();
tipobox.setLocation(520,35);
tipobox.setSize(150,20);
//
//
data = new JLabel("Data");
data.setLocation(05,70);
data.setSize(80,15);
datatexto = new TextField();
datatexto.setLocation(50,70);
datatexto.setSize(150,20);
//
//
horario = new JLabel("Horario");
horario.setLocation(235,70);
horario.setSize(80,15);
horariotexto = new TextField();
horariotexto.setLocation(300,70);
horariotexto.setSize(150,20);
//
//
local = new JLabel("Local");
local.setLocation(05,105);
local.setSize(80,15);
localtexto = new TextField();
localtexto.setLocation(50,105);
localtexto.setSize(700,20);
descricao = new JLabel("Descrição");
descricao.setLocation(350,130);
descricao.setSize(100,15);
//
//aki termina o 2 painel
/*
p3 = new JPanel();
p3.setLayout(new BorderLayout());
p3.setBounds(00,319,790,250);
p3.setBackground(Color.WHITE);
//p3.setBorder(BorderFactory.createBevelBorder(1,Color.white,Color.white));
//
//
desc = new JTextArea();
desc.setLocation(120,30);
desc.setSize(610,150);
desc.setBackground(Color.gray);
teste = new JScrollPane(desc);
teste.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
teste.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
*/
desc = new JTextArea();
desc.setBorder(BorderFactory.createLoweredBevelBorder());
desc.setEditable(false);
desc.setLineWrap(true);
SP = new JScrollPane(desc);
SP.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
SP.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
p3 = new JPanel();
p3.setLocation(-1,320);
p3.setSize(792,170);
p3.setLayout(new BorderLayout());
p3.add(SP);
p4 = new JPanel();
p4.setLayout(null);
p4.setLocation(00,495);
p4.setSize(790,50);
p4.setBackground(Color.white);
//p3.setBorder(BorderFactory.createBevelBorder(1,Color.white,Color.white));
JButton voltar = new JButton("Voltar");
voltar.setLocation(250,10);
voltar.setSize(100,20);
voltar.addActionListener(this);
this.voltar = voltar;
finalizar = new JButton("Finalizar");
finalizar.setLocation(400,10);
finalizar.setSize(100,20);
finalizar.addActionListener(this);
this.finalizar = finalizar;
p4.add(voltar);
p4.add(finalizar);
p3.add(SP);
p2.add(descricao);
p2.add(localtexto);
p2.add(local);
p2.add(horariotexto);
p2.add(horario);
p2.add(datatexto);
p2.add(data);
p2.add(tipobox);
p2.add(tipo);
p2.add(pontostexto);
p2.add(pontos);
p2.add(valortexto);
p2.add(multa);
p2.add(valor);
p1.add(categoriatexto);
p1.add(categoria);
p1.add(chassi);
p1.add(chassitexto);
p1.add(renavantexto);
p1.add(renavan);
p1.add(ano);
p1.add(anotexto);
p1.add(cortexto);
p1.add(cor);
p1.add(placatexto);
p1.add(placa);
p1.add(modelotexto);
p1.add(modelo);
p1.add(carro);
p1.add(marcatexto);
p1.add(marca);
p1.add(veiculo);
tela.add(p1);
tela.add(p2);
tela.add(p3);
tela.add(p4);
JFrame.setDefaultLookAndFeelDecorated(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == finalizar)
{
new principal();
setVisible(false);
}
if(e.getSource() == voltar)
{
new consultar();
setVisible(false);
}
}
}
Logo, minha duvida é a seguinte, eu não consigo herdar uma classe e sua respectiva ação e criar mais ações nessa nova classe sem perder as anteriores?
ou isso.
minha duvida eh se posso fazer os 2 funcionar sem ter que criar em cada classe todas as ações do menu novamente.