Redimensionar um JPanel em consonância com um JDialog
Pergunta
Eu tenho um JDialog
que contém uma série de JPanels
em um CardLayout
. Alguns desses painéis contêm JTables
que eu gostaria de ser redimensionada de acordo com qualquer redimensionamento da JDialog
. Não estou certo de como conseguir isso e qualquer ajuda seria muito apreciada.
Actualmente, os quadros simplesmente permanecer seu tamanho atual e não escala. Tenho certeza de que é algo simples, mas eu estou tendo problemas para localizar a abordagem exata necessária.
Muito obrigado antecipadamente. Estou disposto a dar mais alguma informação, se necessário.
editar: A JDialog
é usado como um assistente, portanto, apenas um dos painéis está a ser apresentado em qualquer um tempo, e daí o uso de CardLayout
. Eu realmente gostaria de manter este gerenciador de layout é, embora se é a fonte dos problemas, então, obviamente, eu iria repensar!
Solução
Você pode manter o CardLayout, mas você precisa fazer o seguinte:
1. definir o layout do seu JDialog para BorderLayout, e adicionar um novo JPanel ( ContentPanel ) para o JDialog
2. agora definir esta ContentPanel layout para ser CardLayout
3. Adicione os outros painéis à CardLayout conforme necessário.
4. Certifique-se também fora dos layouts que você usa em cada um dos painéis que você está adicionando ao CardLayout. Por padrão JPanel usa FlowLayout, eu acho, e isso não é ideal para uma JTable. Assim que você pode precisar de brincar com o layout do painel que contém a tabela também; experimentar BoxLayout ou BorderLayout para isso também.