Я был в состоянии изменять размер JPanel, но я не могу найти как изменить размер таблицы или ScrollPane.
Проблема в том, что JPanel использует FlowLayout. FlowLayout будет учитывать предпочтительный размер любого компонента, добавленного в панель. Таким образом, в примере кода таблица отображается по умолчанию по умолчанию.
Несколько решений:
- Там нет необходимости в панели. Просто добавьте scrollpane прямо в фрейм. При изменении размера кадра таблица будет расти/уменьшаться.
- Измените диспетчер компоновки панели на тот, который позволит компонентам, добавленным к нему, расти, чтобы заполнить доступное пространство. Снова таблица будет расти/уменьшаться по мере необходимости.
- Переопределить метод
getPreferredScrollableViewportSize(...)
JTable
. Это изменит предпочтительный размер таблицы по умолчанию. Таблица может увеличиваться/уменьшаться в зависимости от используемого менеджера компоновки.
Переопределение 'getPreferredScrollableViewportSize()', для [например] (http://stackoverflow.com/search?tab=votes&q=%5bswing%5d%20%5bjtable%5d%20getPreferredScrollableViewportSize). – trashgod