2008-10-22 7 views
2

У меня есть JDialog, который содержит ряд JPanels в CardLayout. Некоторые из этих панелей содержат JTables, которые я бы хотел изменить в соответствии с любым размером JDialog. Я не уверен, как достичь этого, и любая помощь будет очень признательна.Изменить размер JPanel в соответствии с JDialog

В настоящее время таблицы просто остаются их текущим размером и не масштабируются. Я уверен, что это что-то простое, но мне трудно найти точный подход.

Большое спасибо заранее. При необходимости я предоставим дополнительную информацию.

Редактировать: JDialog используется как мастер, поэтому только одна из панелей отображается в любой момент времени, поэтому используется CardLayout. В идеале я бы хотел, чтобы это был менеджер компоновки, хотя, если это источник проблем, то, очевидно, я бы передумал!

ответ

1

Вы можете держать CardLayout, но вам нужно сделать следующее: 1. установить макет JDialog в BorderLayout, и добавить новый JPanel (ContentPanel) к JDialog
2. Теперь установите этот contentPanel макет карты CardLayout
3. добавьте свои другие панели к карте памяти, если требуется.
4. Также следите за макетами, которые вы используете на каждой из панелей, которые вы добавляете в CardLayout. По умолчанию JPanel использует FlowLayout, я думаю, и это не идеально для JTable. Поэтому вам, возможно, придется поиграть с макетом панели, содержащей таблицу; попробуйте BoxLayout или BorderLayout для этого.