Eu tenho um painel que esta com o Layout BorderLayout, e eu colocou no centro um JPanel (painel1) e no sul outro JPanel (painel2).
Com isso o painel1 se ajusta no tamanho que preenche todo o interior do painel do Borderlayout, assim mesmo maximizando a tela, o tamanho é reajustado.
Só que eu quero saber o tamanho qu este painel1 tem, se eu dou um getSize() é retornado W = 0 e H = 0, se eu dou um getPreferredSize() tambem é retornado W = 0 e H 0. Bom a minha duvida é como eu posso descobrir o tamanho que este componente tem ??? Afinal eu não defino o tamanho dele, o Borderlayout que ajusta o tamanho dele !
importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.JFrame;importjavax.swing.JPanel;/* * Created on 29/06/2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates *//** * @author Administrador * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */publicclassTesteFrameextendsJFrame{JPanelpanel1=newJPanel();JPanelpanel2=newJPanel();publicTesteFrame(){super("Teste");setSize(500,500);panel1.setBackground(Color.WHITE);panel2.setBackground(Color.GRAY);panel2.setPreferredSize(newDimension(20,20));panel2.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){// TODO Auto-generated method stubif(e.getClickCount()>=2){System.out.println("Width => "+panel1.getWidth());System.out.println("Height => "+panel1.getHeight());}}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmousePressed(MouseEvente){}publicvoidmouseReleased(MouseEvente){}});getContentPane().add(panel1,BorderLayout.CENTER);getContentPane().add(panel2,BorderLayout.SOUTH);show();}publicstaticvoidmain(String[]args){TesteFramet=newTesteFrame();}}