代码之家  ›  专栏  ›  技术社区  ›  KJW

Java:向JTAT添加图像?

  •  1
  • KJW  · 技术社区  · 14 年前

    单击时我有一个大按钮,将图像添加到表中

        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 而不是真实的画面。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Geoffrey Zheng    14 年前

    DefaultTableCellRenderer setText(value.toString())

    definite Swing tutorial

    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);
            }
        }
    });