2011-12-22 38 views
0

當我嘗試在JTable中只說明顯示ImageIcon的是rendered.The代碼:ImageIcon的只顯示說明,而不是圖像

private void createTable() { 
    dataModel = new AbstractTableModel() { 
    @Override 
    public int getColumnCount() { return 10; } 
    @Override 
    public int getRowCount() { return 10;} 
    @Override 
    public ImageIcon getValueAt(int row, int col) { 
    icon=new ImageIcon(); 
    icon=createImageIcon("..\\studentimages\\img0.png","angry"); //method to render url of image 
    // STUDENT_IMG_LBL=new JLabel(icon); 
    return icon ; 
    } 
    }; 
    } 
+0

你正在使用netbeans,eclipse等編輯器 – Pratik 2011-12-22 12:01:07

+0

我正在使用netbeans。 @Pratik – xyz 2011-12-22 12:09:40

+0

難道是ImageIcon在渲染之前沒有時間加載圖像(假設它可以加載圖像)?你可以嘗試創建一次ImageIcon並重用它? – 2011-12-22 12:14:10

回答

2

您可以嘗試返回的ImageIcon作爲列級。如果它無法定義擴展DefaultTableCellRenderer的自己的Renderer並將該圖標設置爲渲染器。

+0

返回正確的列類將有所幫助,無需自定義渲染器:-) – kleopatra 2011-12-22 12:23:36

+0

@kleopatra我已驗證該對象是否返回到正確的列。 – xyz 2011-12-22 12:41:21

+0

@xyz - 仔細閱讀答案,然後api的TableModel(提示:列_class_是重要組成部分) – kleopatra 2011-12-22 12:46:12

相關問題