为什么我的CSS不能正常使用Java?

Joh*_*ink 2 html css java swing

想知道你是否可以帮助我?我试图创造一些Java中的编码,在执行HTML代码JEditorPane的执行CSS.

我得到它来实现一些的的CSS编码作为一项规则,但它似乎忽略了"float:"在编码位.在JSFiddle(链接)上我得到它完美运行,但在Java/NB上它创建了容器,左边div是小的,假定的权利div,但它把它放在左边div,而不是右边.我在想的是Java,HTMLEditorKit以及StyleSheet不支持我想做的事情.有人能说清楚吗?

编辑:

似乎只HTML 3.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();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

cas*_*lin 6

根据文档,Swing组件仅支持HTML 3.2.

并且,根据此链接,某些CSS属性不会呈现:

以下描述了呈现引擎支持的CSS属性:

  • 字体系列
  • 字体样式
  • font-size(支持相对单位)
  • 字体重量
  • 字形
  • 颜色
  • 背景色(透明除外)
  • 背景图片
  • 背景重复
  • 背景位置
  • 背景
  • 文字装饰(闪烁和上线除外)
  • vertical-align(只有sup和super)
  • text-align(将justify视为中心)
  • 边距
  • 保证金右
  • 下边距
  • 利润率左
  • 余量
  • 填充顶
  • 填充右
  • 填充底
  • 填充左
  • 填充
  • 边境顶式
  • 右边框样式
  • 下边框样式
  • 左边框风格
  • border-style(仅支持inset,outset和none)
  • 边框顶部的颜色
  • 右边框的颜色
  • 底部边框颜色
  • 左边框的颜色
  • 边框颜色
  • 列表样式图像
  • 列表样式类型
  • 列表样式位置

以下内容已建模,但目前尚未呈现.

  • 字体变形
  • background-attachment(后台始终视为滚动)
  • 字间距
  • 字母间距
  • 文本缩进
  • 文本转换
  • 行高
  • border-top-width(用于指示是否应使用边框)
  • 右边框宽度
  • 边界底部宽度
  • 左边框宽度
  • 边框宽度
  • 边框顶部
  • 右边框
  • 下边框
  • 左边框
  • 边界
  • 宽度
  • 高度
  • 浮动
  • 明确
  • 显示
  • 空白
  • 列表样式