Я пытаюсь поместить HTML в JTable
ячейку, я протестировал этот фрагмент кода в IE, но дело в том, что оно не появляется так, как должно быть в ячейке таблицы. Могу ли я подтвердить, что он не работает в ячейке таблицы? Ниже приведен HTML.
<html>
<style>
div {
*display: inline; /* For IE7 */
display:inline-block;
width: 50%;
text-align: center;
</style>
<div>A</div><div>B</div>
<div>A1</div><div>B1</div>
<div>A2</div><div>B2</div>
</html>
Я также попытался поместить стиль внутри <div>
, он работает в IE, но не в ячейке таблицы. Может ли кто-нибудь помочь?
Похоже, что атрибуты стиля display
игнорируются простым механизмом CSS, предоставляемым JSE. Этот источник демонстрирует это. Текст в стиле красный, но атрибут отображения ничего не меняет.
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class HTMLDisplayStyle {
final static String EOL = System.getProperty("line.separator");
final static String HTML_PRE = "<html>" + EOL
+ "<head>" + EOL
+ "<style>" + EOL
+ "span {" + EOL
+ "color: #FF0000;" + EOL
+ "display: ";
final static String HTML_POST = ";" + EOL
+ "}" + EOL
+ "</style>" + EOL
+ "</head>" + EOL
+ "<body>" + EOL
+ "<p>" + EOL
+ "Some text " + EOL
+ "<span>text with display style</span> " + EOL
+ "some more text." + EOL
+ "</p>" + EOL
+ "</body>" + EOL
+ "</html>" + EOL;
final static String[] ATTRIBUTES = {
"inline",
"block",
"none"
};
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
JPanel gui = new JPanel(new BorderLayout());
String s = HTML_PRE + ATTRIBUTES[0] + HTML_POST;
final JTextArea ta = new JTextArea(s, 15, 30);
gui.add(new JScrollPane(ta), BorderLayout.PAGE_END);
final JLabel l = new JLabel(s);
gui.add(new JScrollPane(l));
final JComboBox style = new JComboBox(ATTRIBUTES);
gui.add(style, BorderLayout.PAGE_START);
ActionListener styleListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String styleAttribute =
style.getSelectedItem().toString();
String html = HTML_PRE + styleAttribute + HTML_POST;
ta.setText(html);
l.setText(html);
}
};
style.addActionListener(styleListener);
JOptionPane.showMessageDialog(null, gui);
}
};
// Swing GUIs should be created and updated on the EDT
// http://docs.oracle.com/javase/tutorial/uiswing/concurrency
SwingUtilities.invokeLater(r);
}
}
JEditorPane
. Как правило, для лучшей помощи выложите MCTaRE (минимальный завершенный протестированный и читаемый пример).