У меня сложный вопрос, я нигде не могу найти ответ.
вот пример:
public static void main(final String[] args) {
final JFrame frame = new JFrame("test");
final JPanel bigPane = new JPanel(new GridLayout(0, 1));
frame.setContentPane(new JScrollPane(bigPane, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER));
bigPane.add(new JTextField("reterterter ertertrert erterter ert"));
bigPane.add(new JTextField(" ertertrert erterter ert"));
bigPane.add(new JTextField("reterterter ertertrert ert"));
bigPane.add(new JTextField("reterterter ertertrert erterter "));
frame.pack();
frame.setSize(frame.getSize().width/2, frame.getSize().height);
frame.setVisible(true);
}
Здесь явно текстовые поля обрезаны. Точнее, bigPane режется. Но я бы хотел, чтобы текстовые поля были изменены, а не вырезаны, чтобы мы могли их использовать.
Так как горизонтальная полоса прокрутки запрещена, я хотел бы, чтобы макет забывал предпочтительную ширину вида (bigPane) и всегда заставлял ширину вида соответствовать ширине области просмотра. Как будто не было бы виртуального видового экрана для горизонтального направления, только для вертикального.
Я не могу найти решение, и даже взломать, спасибо, если вы можете помочь.
Нико.
PS: похоже, что код для ViewportLayout не содержит никакого кода для этого
PS2: здесь приведен предел результата кода выше http://www.nraynaud.com/kilombo/testLayout.png см. С правой стороны.