importjavax.swing.*;importjava.awt.*;publicclassJanelaPaisextendsJanela{publicvoidAddConfigura(){panel01(newJLabel("TEXTO"));//chama método panel01}publicvoidAddJanela(){setTitle("Cadastro de Pais");setSize(300,120);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);Dimensiond=Toolkit.getDefaultToolkit().getScreenSize();setLocation((d.width-300)/2,(d.height-120)/2);setModal(true);setResizable(false);setVisible(true);}publicJanelaPais(){AddComponentes();// extende-se da classe JanelaAddConfigura();AddDirecao();// extende-se da classe JanelaAddJanela();}publicstaticvoidmain(String[]args){JanelaPaispais=newJanelaPais();}}
Até +.
marciosc
Uma forma é vc implementar métodos na classe Janela que te possibilitem manipular esses componentes private do teu padrão por outras classe, por exemplo, a JanelaPais. Como o gil colocou.
Outra forma seria declarar seus componentes como protected e nao private, assim as classes que herdam de Janela teriam acesso a esses componentes diretamente!
Espero nao ter dito besteira e espero ter ajudado!!
G
gil_email10
E isto mesmo que o Marcio falou…implementa os métodos ou então declara suas variáveis protect que as classes filhas terão acesso…
Só que neste caso as classes do mesmo pacote também tem acesso além das classes filhas…
OK?
Deu para esclarecer?
Até +.
C
cvfuhr
sim sim…
soh uma coisa…
aqui tah passando uma JLabel…
panel01(new JLabel(“TEXTO”));
funciona tbem com JButton
panel01(new JButton(“TEXTO”));
queria saber se tem com com passar uma JPanel…
tenho um painel pronto com todos os campos do cadastro…
esse painel tem JButton e JTextFiel…
implementar dentro da classe janela…
valeu pelas respostas
abraço
G
gil_email10
Tem sim cara por isso coloquei o JComponent com parâmetro…
para que você possa passar um JPanel com o layout todo já definido dentro dele…
Ok?
Até +.
C
cvfuhr
agora consegui…
o problema não era em seu código…
minha JPane tava bugada e dava erro quando tentava passar…