Ola pessoal… tenho um JFrame com um apenas um JPanel inserido. Porem, esse JPanel varia de acordo com o numero de componentes que eu for inserindo para o usuario preencher.
Enfim, tentei configurar o JFrame para ter o mesmo tamanho do JPanel:
Mas esse getSize do JPanel sempre retorna 0,0. Soh retorna um valor quando eu defino o size do JPanel. Ou seja, acaba que eu teria q definir um tamanho fixo de qualquer maneira.
Ha alguma forma do JFrame reconhecer o tamanho do JPanel inserido e configura-lo como do mesmo tamanho??? Abracos…
Cara o tamanho dos componentes swing dentro de um container é determinado dinamicamente pelo tipo de container e pelo gerenciador de layout utilizados. Você pode sobrescrever o método getPreferredSize do teu JPanel, por exemplo, para que o tamanho de preferência dele deja fixo.
Agora, para fazer com que o JFrame que contém teus componentes fique do tamanho exato para comportar o componentes que ali estão você deve utilizar o método pack.
Ex:
//Criação do painel
JPanel painel = new JPanel(new BorderLayout());
painel.add(BorderLayout.CENTER, new JLabel("123 Testanto"));
painel.add(BorderLayout.SOUTH, new JButton("Clique-me"));
//Criação do frame
JFrame frame = new JFrame("Teste");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Adicionando o painel ao frame
frame.setContentPane(painel);
//Redimensionando o frame
frame.pack();
//Centralizando o frame na tela
frame.setLocationRelativeTo(null);
//Exibindo o frame
frame.setVisible(true);