JPanel调整大小并滚动错误

时间:2012-09-11 00:22:45

标签: resize scroll textarea jpanel

我使用带有可变高度的文本区域和其他一些东西(示例代码中的组合框)填充窗口宽度。 发生以下错误:
- 使用“innerPanel.setPreferredSize”时,通过在文本区域中键入换行符或垂直调整窗口大小,当文本区域高于窗口时,不会显示滚动条。
- 当不使用“innerPanel.setPreferredSize”时(如下面的示例代码中所示),使用的swing元素在调整窗口宽度时会水平放大,但不会水平缩小。

JPanel innerPanel = new JPanel(new GridBagLayout());
JTextArea editArea = new JTextArea();
editArea.setLineWrap(true);
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1.;
innerPanel.add(editArea, gbc);
JComboBox combo = new JComboBox();
gbc.gridy = 1;
innerPanel.add(combo, gbc);
JScrollPane scroller = new JScrollPane(innerPanel,
  JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
  JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//innerPanel.setPreferredSize(new Dimension(50, 50));
JPanel outerPanel = new JPanel(new BorderLayout());
outerPanel.add(scroller);
frame.setContentPane(outerPanel);

0 个答案:

没有答案