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!

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top