0

我正在尝试使用 JEditorPane 的 setText 方法在 JEditorPane 中显示 rss 提要条目,该方法获取相关信息(RSSEntries)。

在这种方法中,我得到了要在 stringBuilder 中发布的项目,到目前为止效果很好。但是,当在方法结束时,我尝试将文本从 stringBuilder 设置到 JEditorPane 时,它​​不会发布任何内容。我尝试使用 println 输出 stringbuilder 的内容,并且文本确实有效,但当我将其设置为 JEditorPane 时无效。我还尝试设置自己的 setText 方法,在该方法中我将字符串生成器作为参数传递,然后在相关类中尝试使用 m_editorPane.setText(getText());… get 方法获取正确的信息,但此过程也没有在 JEditorPane 上设置文本……。任何人都可以指出我正确的方向吗?看来我错过了什么......?谢谢

    public void  createEditorInfo(ArrayList<Item> items)
        throws MalformedURLException {

    StringBuilder sb = new StringBuilder();

    String url = m_urlName;

    if (m_urlName != null) {
        if ((items != null) && !(url.equals(null))) {

            // create a new parser
            m_parser = new Parser();

            //set url name
            m_parser.setM_urlName(m_urlName);

            // start the parsing process
            m_parser.start();

            ItemList itemList = new ItemList();

            // put rss entries into a list
            itemList.setItem(items);

            System.out.println("the item list is: " + itemList.getLength());

            // /output the contents of the feed
            for (int element = 0; element < itemList.getItem().size(); element++) {

                sb.append(itemList.getItem().get(element).getTitle()
                        + itemList.getItem().get(element).getDescription()
                        + itemList.getItem().get(element).getM_myURL()
                        + " <br>");

            } // end for 
            System.out.println("sb from createEditorInfo is : "  //This works just fine 
                    + sb.toString());

            // Create editor pane
            m_editorPane = new JEditorPane();
            m_editorPane.setContentType("text/html");
            m_editorPane.setEditable(false);

            // add put the m_editorPane in a JScrollPane for scrolling function
            m_editorPaneScrollpane = new JScrollPane(m_editorPane);
            m_editorPaneScrollpane
                    .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
            m_editorPaneScrollpane.setAutoscrolls(true);
            m_editorPaneScrollpane.setEnabled(true);
            m_editorPaneScrollpane.setVisible(true);
            m_editorPaneScrollpane.setMinimumSize(new Dimension(100, 30));

            m_editorPane.setText(sb.toString()); //This does not work
        }
    }
}
4

0 回答 0