2014-10-20 114 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