java使JList单元格内的HTML表与单元格一样宽
我用HTML在JList中设计一个单元格——这是一个简单的两行表,第二行有一个非默认背景。我想让那一行横跨单元格的整个宽度,而不是只和单元格内的文本一样宽
下面是一个例子:
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JList;
public class Example {
public static void main(String[] args) {
JFrame frame = new JFrame();
String html = "<html>";
html += "<style type=\"text/css\">"
+ "body { margin: 0px auto; }\n"
+ "td { padding: 0px; margin: 0px; }\n"
+ "</style>";
html += "<body><table>";
html += "<tr><td>line1</td></tr>";
html += "<tr><td bgcolor=blue color=white>line2</td></tr>";
html += "<body></table></html>";
ArrayList<String> dataList = new ArrayList();
dataList.add(html);
JList list = new JList(dataList.toArray());
frame.getContentPane().add(list);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
“line2”的背景为蓝色,但仅在文本下方。我希望它一直延伸到窗口的末端,基本上使表格(或行)宽度达到单元格宽度的100%
我试着在不同的地方放置“宽度:100%”,但没有效果。唯一有效的方法是设置td{width…}到一个特定的像素宽度,但我需要一个自定义的单元渲染器来更改窗口/组件每次调整大小时的宽度。。。似乎必须有一个简单的html/css解决方案来解决这个问题
共 (0) 个答案