为什么不是';我的CSS在Java中不能正常工作吗?
你能帮我吗?我试图用Java创建一些代码,通过实现为什么不是';我的CSS在Java中不能正常工作吗?,java,html,css,swing,Java,Html,Css,Swing,你能帮我吗?我试图用Java创建一些代码,通过实现CSS在JEditorPane中执行html代码 我让它实现一些CSS编码,但它似乎忽略了编码中的“float:”位。在JSFiddle()上,我让它完美地运行,但在Java/NB上,它创建了一个容器,左div,这个容器很小,应该是右div,但是它将它放在左div的下面,而不是右边。我想的是Java和HTMLEditorKit以及样式表不支持我想做的事情。有人能澄清一下吗 编辑: 似乎只支持HTML3.2。是否有可能的解决方法 import ja
CSS
在JEditorPane
中执行html代码
我让它实现一些CSS
编码,但它似乎忽略了编码中的“float:”
位。在JSFiddle()上,我让它完美地运行,但在Java/NB上,它创建了一个容器,左div
,这个容器很小,应该是右div
,但是它将它放在左div
的下面,而不是右边。我想的是Java和HTMLEditorKit
以及样式表
不支持我想做的事情。有人能澄清一下吗
编辑:
似乎只支持HTML3.2
。是否有可能的解决方法
import java.awt.Dimension;
import javax.swing.*;
import javax.swing.text.Document;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.StyleSheet;
@SuppressWarnings("serial")
public class jBulletins extends JPanel {
javax.swing.JEditorPane bulletinBoard = new javax.swing.JEditorPane();
public jBulletins() {
Dimension d = new Dimension();
d.setSize(800, 600);
bulletinBoard.setPreferredSize(d);
bulletinBoard.setContentType("text/html"); // NOI18N
add(new JScrollPane(bulletinBoard));
loadBulletins();
}
private void loadBulletins() {
//<editor-fold defaultstate="collapsed" desc="HTML/CSS Script">
String eBullStyles = "#divMsgs{ "
+ "height: 99px; "
+ "margin: auto; "
+ "background-color: #3399FF; "
+ "} "
+ "#divLeft{ "
+ "float: left; "
+ "width: 110px; "
+ "height: 85px; "
+ "border: 2px #6666ff outset; "
+ "padding: 5px; "
+ "background-color: #189cd8; "
+ "color: #ffffff; "
+ "font-size: 11px; "
+ "font-weight: normal; "
+ "font-family: Tahoma, Geneva, sans-serif; "
+ "font-style: normal; "
+ "text-decoration: inherit; "
+ "} "
+ "#divRight{ "
+ "float: right; "
+ "width: 50px; "
+ "height: 85px; "
+ "border: 2px #6666ff outset; "
+ "background-color: #189cd8; "
+ "padding: 5px; "
+ "color: #ffffff; "
+ "font-size: 11px; "
+ "font-weight: normal; "
+ "font-family: Tahoma, Geneva, sans-serif; "
+ "font-style: normal; "
//+ "text-decoration: inherit; "
+ "line-height: 1.3em; "
+ "}"; //</editor-fold>
bulletinBoard.setContentType("text/html");
bulletinBoard.setText("");
HTMLEditorKit kit = new HTMLEditorKit();
bulletinBoard.setEditorKit(kit);
// add some styles to the html
StyleSheet styleSheet = kit.getStyleSheet();
styleSheet.addRule(eBullStyles);
Document setdoc = kit.createDefaultDocument();
bulletinBoard.setDocument(setdoc);
String initial = "<div id=\"divMsgs\">"
+ "<div id=\"divLeft\">"
+ "Hello Bob"
+ "</div>"
+ "<div id=\"divRight\">"
+ "How are you today?"
+ "</div>"
+ "</div>";
try {
Document doc = bulletinBoard.getDocument();
bulletinBoard.setText(initial);
} catch (Exception ex) {
ex.printStackTrace();
}
}
private static void createAndShowGui() {
jBulletins mainPanel = new jBulletins();
JFrame frame = new JFrame("Bulletin Board");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
导入java.awt.Dimension;
导入javax.swing.*;
导入javax.swing.text.Document;
导入javax.swing.text.html.HTMLEditorKit;
导入javax.swing.text.html.StyleSheet;
@抑制警告(“串行”)
公共类jBulletins扩展了JPanel{
javax.swing.JEditorPane bulletinBoard=新javax.swing.JEditorPane();
公共jBulletins(){
维度d=新维度();
d、 设置大小(800600);
公告板。设置首选尺寸(d);
bulletinBoard.setContentType(“text/html”);//NOI18N
添加(新JScrollPane(公告板));
加载公告();
}
私有void加载公告(){
//
字符串eBullStyles=“#divMsgs{”
+“高度:99px;”
+“保证金:自动;”
+“背景色:#3399FF;”
+ "} "
+“#左{”
+“浮动:左;”
+“宽度:110px;”
+“高度:85px;”
+“边界:2px#6666ff开始;”
+“填充:5px;”
+“背景色:#189cd8;”
+“颜色:#ffffff;”
+“字体大小:11px;”
+“字体大小:正常;”
+字体系列:塔荷马,日内瓦,无衬线
+“字体样式:正常;”
+“文本装饰:继承;”
+ "} "
+“#divRight{”
+“浮动:对
+“宽度:50px;”
+“高度:85px;”
+“边界:2px#6666ff开始;”
+“背景色:#189cd8;”
+“填充:5px;”
+“颜色:#ffffff;”
+“字体大小:11px;”
+“字体大小:正常;”
+字体系列:塔荷马,日内瓦,无衬线
+“字体样式:正常;”
//+“文本装饰:继承;”
+“线高:1.3em;”
+ "}"; //
bulletinBoard.setContentType(“文本/html”);
公告板内。setText(“”);
HTMLEditorKit=新的HTMLEditorKit();
公告板。设置编辑工具(套件);
//在html中添加一些样式
StyleSheet StyleSheet=kit.getStyleSheet();
样式表.addRule(eBullStyles);
Document setdoc=kit.createDefaultDocument();
公告板。setdoc文件(setdoc);
String initial=“”
+ ""
+“你好,鲍勃”
+ ""
+ ""
+“你今天好吗?”
+ ""
+ "";
试一试{
文档文档=bulletinBoard.getDocument();
公告板内文字setText(首字母);
}捕获(例外情况除外){
例如printStackTrace();
}
}
私有静态void createAndShowGui(){
jBulletins mainPanel=新jBulletins();
JFrame框架=新JFrame(“公告板”);
框架设置尺寸(800600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(主面板);
frame.pack();
frame.setLocationByPlatform(真);
frame.setVisible(true);
}
公共静态void main(字符串[]args){
SwingUtilities.invokeLater(新的Runnable(){
公开募捐{
createAndShowGui();
}
});
}
}
JEditorPane只提供HTML3.2支持,所以我打赌它不支持我们使用的所有css属性。根据,Swing组件只支持HTML3.2
根据这一点,一些CSS属性不会呈现:
以下描述了渲染引擎支持的CSS属性:
字体系列