我正在寻找一种方法来创建一个窗口(使用Jpanel或其他),从网站上获取一定数量的文本(此部分正在工作),并将其显示在文本字段中。我知道这看起来很简单,但我是新手。谢谢!到目前为止,我从Jsoup网站得到了这个例子:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class closings {
public static void main(String[] args) throws IOException {
Document document = Jsoup.connect("http://www.wjla.com/weather/virginia-school-closings-delays/").get();
Elements tags = document.select("#closingsList");
for (Element tag : tags) {
System.out.println(tag.text());
}
}}
答案 0 :(得分:1)
假设你的jsoup工作,你的每个循环打印出你需要的标签....我已经编写了一些代码,使用Java swing将一个arraylist的内容打印到TextArea。我唯一与你不同的是使用Strings而不是Elements(因为我没有下载jsoup库。
class stackExchangeHelp
package stackExchangeHelp;
import java.util.ArrayList;
public class stackExchangeHelp
{
public static void main(String[] args)
{
//this should be a list of elements (not strings)
ArrayList<String> listToSend = new ArrayList<String>();
//use your for each loop to add elements to the list
listToSend.add("First element");
listToSend.add("Second Element");
listToSend.add("Third Element");
DisplayGuiHelp gui = new DisplayGuiHelp(listToSend);
}
}
类DisplayGuiHelp
package stackExchangeHelp;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
public class DisplayGuiHelp
{
public DisplayGuiHelp(ArrayList<String> list) //constructor of the DisplayGuiHelp object that has the list passed to it on creation
{
final JFrame theFrame = new JFrame();
theFrame.setTitle("Stack exchange help");
theFrame.setSize(500, 500);
theFrame.setLocation(550, 400);
JPanel mainPanel = new JPanel();
JTextArea theText = new JTextArea(5,25); //create the text area
for(String text : list)
{
theText.append(text + "\n"); //append the contents of the array list to the text area
}
mainPanel.add(theText); //add the text area to the panel
theFrame.getContentPane().add(mainPanel); //add the panel to the frame
theFrame.pack();
theFrame.setVisible(true);
}
}
如果您有任何问题或希望我更多地扩展它,请告诉我。
答案 1 :(得分:1)
您可以创建JLabel
第1步:将此行添加到您的代码中:
import javax.swing.*;
第2步:添加此代码:
JFrame f = new JFrame();
JPanel p = new JPanel();
JLabel l = new JLabel(tag.text());
p.add(l);
f.add(p);
f.setVisible(true);
你已经全部准备好了!享受您的代码!