ecarmo
Junho 29, 2004, 11:37am
#1
Pessoal, eu estou com esse seguinte probleminha
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 !
Valeu Galera
brlima
Junho 29, 2004, 2:33pm
#2
aqui funcionou legal…
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.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
*/
public class TesteFrame extends JFrame {
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
public TesteFrame(){
super("Teste");
setSize(500,500);
panel1.setBackground(Color.WHITE);
panel2.setBackground(Color.GRAY);
panel2.setPreferredSize(new Dimension(20,20));
panel2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getClickCount() >= 2){
System.out.println("Width => " + panel1.getWidth());
System.out.println("Height => " + panel1.getHeight());
}
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
});
getContentPane().add(panel1, BorderLayout.CENTER);
getContentPane().add(panel2, BorderLayout.SOUTH);
show();
}
public static void main(String[] args) {
TesteFrame t = new TesteFrame();
}
}