我正在尝试在我的Java程序中显示Xbox Gamer卡: 这是一个GamerCard:http://gamercard.xbox.com/de-DE/anybody.card
目前我有以下内容:
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);
}
}
看起来,它可以应用StyleSheet,但不正确。
希望有人可以帮助我。
答案 0 :(得分:0)
看看Flying-Saucer,它可以将Html渲染为Swing:
Flying Saucer采用XML或 XHTML 并且符合CSS 2.1标准 样式表,以便渲染为PDF(通过iText),图像和 在屏幕上使用 Swing 或SWT。
这里有一些屏幕截图:https://code.google.com/p/flying-saucer/wiki/Screenshots