2014-10-20 111 views
2

我想在JTextPane中只显示html表格的顶部边框。下面的代码在Java 1.7中工作正常,但在Java 1.6中没有出现边界。有没有办法在Java 1.6中做到这一点?JTextpane上的HTML表格顶部边框

import java.awt.BorderLayout; 

import javax.swing.JFrame; 
import javax.swing.JTextPane; 

public class textpanedemo{ 

public static void main(String[] args) { 

    String html = "<html><table><tr style=\"border-top:1px solid red\"><td>asd</td></tr></table></html>"; 

    JTextPane jPane = new JTextPane(); 
    jPane.setContentType("text/html"); 

    jPane.setText(html); 

    JFrame frame = new JFrame("HtmlDemo"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.getContentPane().setLayout(new BorderLayout()); 
    frame.getContentPane().add(jPane); 

    frame.pack(); 
    frame.setVisible(true); 
} 
} 
+1

你是什么意思,它“不工作”?边界是否完全没有出现?或者它是否在所有边缘上显示边框? – 2014-10-20 07:59:18

+0

边框不显示。编辑。 – rdonuk 2014-10-20 08:04:29

+0

好的,我可以复制您的问题并正在解决问题。我会发布一个答案,如果我能得到它的工作:) – 2014-10-20 08:11:49

回答

1

Java 1.6xxx仅支持HTML 3.2及更低版本,因此表格边框在Java 1.6xxx中不起作用。

我创建了一个小的解决办法,我希望会为你工作:

String html = "<html><table><tr style=\"background-color:red;\"><td style=\"background-color:white;margin-top:1px\">asd</td></tr></table></html>"; 

基本上,我设置的<tr>红色的背景,然后设置的<td>白色背景,并给了它一下的余量显示从<tr>的一些红色。不幸的是,边缘似乎也显示底部的红色背景1px,我试图修复,但无法。

这里是Java 1.6上运行的结果:

enter image description here

我还创建了一个第二个解决方法这是一个有点比上一个更哈克,并只显示上边框:

String html = "<html><table style=\"background-color:red;padding-top:1px;\"><tr style=\"background-color:white;\"><td>asd</td></tr></table></html>"; 

此变通办法的意思是,您不需要创建新的<tr>元素来创建新行,您需要创建新的<table>元素(具有相同样式)来创建新行。下面是一个使用两个表创建两行,用这个HTML的例子:

String html = "<html><table style=\"background-color:red;padding-top:1px;\"><tr style=\"background-color:white;\"><td>asd</td></tr></table>" 
      + "<table style=\"background-color:red;padding-top:1px;\"><tr style=\"background-color:white;\"><td>asd</td></tr></table></html>"; 

(请注意有两个表在HTML中,对于两行。)

enter image description here

取你的选择。他们都有点不好意思,但是我猜,这就是你必须做的,以支持旧的Java版本。 :/

+0

感谢您的努力。我在最后一段代码片段中为表格添加了“cellspacing = 0”属性。现在它适用于Java 6和7。 – rdonuk 2014-10-20 09:05:07

+0

@rdn太棒了!很高兴它的作品。 – 2014-10-20 09:30:29