Я показываю RSS-канал в моей JTextPanel. Отображаемый результат не переходит к новой строке. Как вставить \ n в JTextPane? Благодаря!JTextPane не переходит к новой строке?
writeNews класс:
public String writeNews()
{
String result = "";
try
{
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
URL u = new URL("http://thestar.com.my.feedsportal.com/c/33048/f/534600/index.rss");
Document doc = builder.parse(u.openStream());
NodeList nodes = doc.getElementsByTagName("item");
for(int i=0;i<nodes.getLength();i++)
{
Element element = (Element)nodes.item(i);
result += "\nTitle: " + getElementValue(element,"title");
result += "\nLink: " + getElementValue(element,"link");
result += "\nPublish Date: " + getElementValue(element,"pubDate");
result += "\nDescription: " + getElementValue(element,"description");
System.out.println("Title: " + getElementValue(element,"title"));
System.out.println("Link: " + getElementValue(element,"link"));
System.out.println("Publish Date: " + getElementValue(element,"pubDate"));
System.out.println("Description: " + getElementValue(element,"description"));
System.out.println();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
return result;
}
И результат отображается на простом JTextPane:
public void news()
{
news = new JPanel(new GridLayout());
news.setBackground(SystemColor.inactiveCaptionBorder);
JTextPane newsTextPane = new JTextPane();
newsTextPane.setContentType("text/html");
newsTextPane.setEditable(false);
JScrollPane scrollPane = new JScrollPane(newsTextPane);
news.add(scrollPane);
TextSamplerDemo reader = TextSamplerDemo.getInstance();
reader.writeNews();
String rssNews = reader.writeNews();
newsTextPane.setText(rssNews);
}
JTextPane Вид:
Console View:
Side-Note: Лучше не использовать '\ n' для символа новой строки в [Java передовой практики] (http://www.javapractices.com/topic/TopicAction.do?Id=38). – kentcdodds
В качестве части этого комментария я должен просто сказать, что лучшей альтернативой должно быть что-то вроде этого: 'public static String newline = System.getProperty (« line.separator »);' и везде, где требуется новая линия, вы можете просто добавьте переменную 'newline'. Удачи! – kentcdodds
@kentcdodds спасибо за отзыв! –