Итак, у меня есть куча JTable
с. Каждый JTable
находится внутри JScrollPane
. Затем я добавляю каждый из этих JScrollPane
s к JPanel
. Затем я добавляю JPanel
к JScrollPane
, а затем к другому JPanel
с BorderLayout
. Больший JScrollPane
правильно изменяет размер со своим родителем, но каждый из меньших JScrollPane
имеет постоянную высоту, которая больше, чем окно, когда оно маленькое. Как я могу заставить каждого из детей JScrollPane
s изменить размер с высотой окна / их родителя?
Я попытался добавить больше посредников JPanel
с FlowLayout
, BorderLayout
, и, похоже, ничего не работает.
Вот соответствующий код:
public class MyPanel extends JPanel
{
public MyPanel()
{
super(new BorderLayout());
JPanel panel = new JPanel();
for (int i = 0; i < 5; i++)
{
// View extends JTable
panel.add(new JScrollPane(new View(new Model())));
}
add(new JScrollPane(panel));
}
}
На самом деле я просто пытаюсь получить кучу таблиц с полосами прокрутки горизонтально рядом друг с другом внутри большой панели с горизонтальной полосой прокрутки. И я хочу, чтобы все эти вещи соответствующим образом изменяли размеры при изменении размера окна.
больше код:
final MyPanel panel = new MyPanel();
final JTabbedPane tabView = new JTabbedPane();
tabView.add(...);
tabView.add("foo", panel);
final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, ..., tabView);
this.add(splitPane); // this extends JFrame