JList水平调整大小会导致垂直缩小

时间:2012-08-01 10:59:08

标签: java swing jscrollpane jlist

我在ScrollPane中有一个jList,当我调整框架大小时,它表现得很奇怪。 通常它是这样的: Before 在我在水平左边长大表后,我的jList变成这样: After

我发布了一些可能有帮助的gui代码:

    scrlInterfaceList.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scrlInterfaceList.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

    //---- list1 ----
    lstInterfaces.setBorder(BorderFactory.createTitledBorder(LFwPolicyMaker.messages.getString("IpMacMatcher.MatchTab.controlPanel.interfaces.title")));
    lstInterfaces.setPreferredSize(null);
    lstInterfaces.setMaximumSize(new Dimension(55, 90));
    lstInterfaces.setMinimumSize(new Dimension(55, 90));

    lstInterfaces.setLayoutOrientation(JList.VERTICAL);
    lstInterfaces.setModel(new AbstractListModel() {

        String[] strings = getInterfaces();

        public int getSize() {
            return strings.length;
        }

        public Object getElementAt(int i) {
            return strings[i];
        }
    });
    scrlInterfaceList.setViewportView(lstInterfaces);

    setSelectedInterfaces();

    add(scrlInterfaceList,new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0,
                GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                new Insets(0, 0, 0, 0), 0, 0));

可能是什么问题?我希望jList继续水平缩小,就像上面的组合框,按钮

1 个答案:

答案 0 :(得分:4)

尝试将滚动窗格

的GridBagConstraints的weighty值设置为1.0