我正在尝试使用 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
}
}
}