JList在添加元素时填充整个窗口

时间:2015-02-25 12:04:49

标签: java swing layout-manager jlist gridbaglayout

我在JList中有一个GridBagLayout。启动窗口后它看起来很好,但是当我向JList添加元素时,它立即填充整个窗口并重叠其他组件。

    paragraphlst = new JList<ParagraphItem>();
    paragraphlst.setValueIsAdjusting(true);
    paragraphlst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    paragraphlst.setAutoscrolls(true);

    paragraphlstmodel = new DefaultListModel<ParagraphItem>();
    paragraphlst.setModel(paragraphlstmodel);

添加元素:

view.getParagraphLstModel().addElement(
                        new ParagraphItem(rt.getNumString() + " "
                                + paragraphString, wordMLPackage
                                .getMainDocumentPart().getContent()
                                .indexOf(jaxbNode)));
添加元素后的

窗口:

enter image description here

它的外观:

enter image description here

1 个答案:

答案 0 :(得分:0)

我自己解决了,问题是我没有检查我添加到列表中的字符串的长度。 使用以下代码,它可以工作。

            temp = temp.length() > 15 ? temp.substring(0, 15) : temp;
            temp =  rt.getNumString()+" "+temp;

            view.getParagraphLstModel().addElement(
                    new ParagraphItem(temp, wordMLPackage
                            .getMainDocumentPart().getContent()
                            .indexOf(jaxbNode)));