Как изменить размер конкретного компонента на основе доступного видимого пространства? - PullRequest
2 голосов
/ 23 декабря 2009

В моем приложении у меня есть макет, подобный показанному ниже:

@@@@@@@
XXXXXXX***
XXXXXXX***
XXXXXXX***
%%%%%%%

В этом макете X - это JTable. Другие компоненты могут оставаться такими же размерами. Есть ли макет или стратегия, в которой размер JTable (X) будет изменяться в зависимости от доступного размера экрана, а все остальное будет правильно отображаться по сторонам?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 23 декабря 2009

Это очень похоже на BorderLayout для меня. Вы пробовали это?

0 голосов
/ 23 декабря 2009

Я большой поклонник JGoodies FormLayout. Вот пример кода одного из способов сделать это с помощью FormLayout.

    JPanel panel = new JPanel();        
    FormLayout layout = new FormLayout("100dlu, 20dlu:grow", "pref, pref, pref");
    panel.setLayout(layout);

    JTextField t1 = new JTextField();
    JTextField t2 = new JTextField();
    JTable tb = new JTable();
    JScrollPane sp = new JScrollPane();
    sp.setViewportView(tb);

    CellConstraints cc = new CellConstraints();
    panel.add(t1, cc.xy(1, 1));
    panel.add(t2, cc.xy(1, 3));
    panel.add(sp, cc.xyw(1, 2, 2));
0 голосов
/ 23 декабря 2009

Это также можно сделать с помощью GroupLayout, но он предназначен для сборщиков графического интерфейса, поскольку он очень многословен. Поэтому, если у вас уже есть код, возможно, вы не захотите сначала его попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...