Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTable中图像的html问题_Java_Html_Swing_File Io_Jtable - Fatal编程技术网

Java JTable中图像的html问题

Java JTable中图像的html问题,java,html,swing,file-io,jtable,Java,Html,Swing,File Io,Jtable,我扩展了AbstractTableModel以创建自定义TableModel。这样做的原因是将hashmap绑定到JTable 在我的TableModel中,我在其中一行返回如下html代码: @Override public Object getValueAt(int rowIndex, int columnIndex) { switch (columnIndex) { case 0:

我扩展了AbstractTableModel以创建自定义TableModel。这样做的原因是将hashmap绑定到JTable

在我的TableModel中,我在其中一行返回如下html代码:

@Override
        public Object getValueAt(int rowIndex, int columnIndex) {

             switch (columnIndex) {
             case 0:    
                    String sTest = "<div style=\"margin-left:100px;\"><img src='" + new ImageIcon(Wds.class.getResource("/resources/video.png"))+ "'</div>";
                return "<html>" + sTest + sTest + "hello" + "</html>";              

             default:
                    throw new IndexOutOfBoundsException();
             }    
        }

例如,您应该在
TableCellRenderer
中处理对齐。该示例显示了一个
ListCellRenderer
,但原理相同

附录:我需要添加几个图标,并在单元格中以不同的位置放置它们


TableCellRenderer
的实现可以返回任何所需的
组件
——甚至是带有自己布局的
JPanel
,如图所示的
状态面板
。您可能还需要一个自定义的
TableCellEditor

我不能这样做,因为我需要添加几个图标,并在单元格中以不同的位置放置它们。如果
DefaultTableCellRenderer
中的HTML支持不足,我看不到其他选择;以上。
private Map<String, String> list = new LinkedHashMap<String,String>();

    class MyTableModel extends AbstractTableModel {

        private String[] columnNames = {"Column1"}; 

        public void addElement(String sElement, String sElement2) {         

            list.put(sElement, sElement2);
            fireTableRowsInserted(list.size(), list.size());

        }

        @Override
        public int getColumnCount() {
            return columnNames.length;
        }

        @Override
        public int getRowCount() {
            return list.size();
        }

        @Override
        public String getColumnName(int col) {
            return columnNames[col];
        }

        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {

             switch (columnIndex) {
             case 1:    
                    String sTest = "<div style=\"margin-left:100px;\"><img src='" + new ImageIcon(Wds.class.getResource("/resources/video.png"))+ "'</div>";
                    return "<html>" + sTest + sTest + "hello" + "</html>";

             default:
                    throw new IndexOutOfBoundsException();
             }    
        }
    }