簡體   English   中英

Java:將圖像添加到JTable?

[英]Java: adding Image to JTable?

單擊時有一個大按鈕,將圖像添加到表格中

    class BigButtonListener implements ActionListener{
 Image screenshot=null;
 Browser bigbrowser =null;

 BigButtonListener(Browser browser, DefaultTableModel dataModel, DefaultTableModel historyModel, JTable dataTable, JTable historyTable) {
  screenshot = browser.toImage(true);
  bigbrowser = browser;
  historyTable = historyTable;
  //table1.addRow
 }

  @Override
  public void actionPerformed(ActionEvent e) {
   // save current image
   historyModel.insertRow(0,new Object[]{new ImageIcon(screenshot)}); 
   //System.out.println(historyTable.getRowCount());

  }   
} 

但是,所有添加的內容都是文本javax.swing.ImageIcon@9dfb04而不是實際圖片。

DefaultTableCellRenderer擴展JLabel並通過setText(value.toString())呈現。

遵循有關自定義單元格渲染器和編輯器的明確Swing教程

或使用像這樣的簡單技巧:

historyTable.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
    protected void setValue(Object value) {
        if( value instanceof ImageIcon ) {
            setIcon((ImageIcon)value);
            setText("");
        } else {
            setIcon(null);
            super.setValue(value);
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM