Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中加载和显示HTML+CSS_Java_Html_Css_Parsing - Fatal编程技术网

在Java中加载和显示HTML+CSS

在Java中加载和显示HTML+CSS,java,html,css,parsing,Java,Html,Css,Parsing,我正在尝试在Java程序中显示Xbox玩家卡: 这是一张游戏卡: 目前我有以下几点: import java.awt.Dimension; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import javax.swing.JEditorPane; import javax.swing.text.html.HTML

我正在尝试在Java程序中显示Xbox玩家卡: 这是一张游戏卡:

目前我有以下几点:

import java.awt.Dimension;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;

import javax.swing.JEditorPane;
import javax.swing.text.html.HTMLEditorKit;

public class CardLoader extends JEditorPane {
    private static final long serialVersionUID = 1L;
    private static final String[] card = { "http://gamercard.xbox.com/de-DE/", ".card" };
    private static final String styleSheetLink = "http://gamercard.xbox.com/Content/Gamercard/default/gamercard.css";

    public CardLoader(String username) {
        HTMLEditorKit kit = new HTMLEditorKit();
        this.setEditable(false);
        this.setPreferredSize(new Dimension(200, 135));

        kit.getStyleSheet().addRule(URLCaS(styleSheetLink));
        this.setEditorKit(kit);

        try {
            this.setPage(card[0] +username +card[1]);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    String URLCaS(String url){
        InputStream in = null;
        String returner = new String();
        try {
            in = new URL(url).openStream();
            InputStreamReader inR = new InputStreamReader( in );
            BufferedReader buf = new BufferedReader( inR );
            String line;

            while ( ( line = buf.readLine() ) != null ) {
                returner += line + "\n";
            }

            in.close();
        } catch (Exception e){
            e.printStackTrace();
        }
        return returner.substring(3);
    }
}
看起来,它可以应用样式表,但不正确

希望有人能帮助我。

看一看,它可以将Html呈现给Swing:

飞碟采用XML或XHTML,并应用CSS 2.1兼容 样式表,以便通过iText、图像和 使用Swing或SWT在屏幕上显示

这里有一些可用的屏幕截图:


会发生什么?你有什么错误吗?这里您需要告诉我们更多。Java/Swing是一个厚客户端UI。HTML/CSS是一个瘦客户端UI。某些Java/Swing组件支持HTML的某些子集,但要实现真正的HTML呈现,应该依赖于浏览器。例如,编写一个Tomcat/JSP UI而不是Swing。不,没有任何错误,它加载了所有内容但没有正确显示,请看这里:编辑:我可以将JSP文件添加到java面板中吗?oOQ:我可以将JSP添加到Java面板中吗?答:没有。我建议使用JSP而不是Swing。嗯。。我不想使用jsp,不管怎样,我刚刚发现如何在jframe中放置swt,这就是我的工作,不再需要HTMLEditorKit,但现在我有另一个问题: