我在ScrollPane中有一个jList,当我调整框架大小时,它的行为很奇怪。
通常是这样的:

当我水平增加左侧的表格后,我的jList变为:


我发布了一些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继续水平缩小,如组合框,上方的按钮

最佳答案

尝试将GridBagConstraints的权重值设置为1.0的滚动窗格

09-11 18:38