2013-02-15 65 views
0

我有一個擴展AbstractTableModel的類,我想用單擊文本插入一個JPanel(想象超鏈接)到一個單元格中。這可能嗎?目前在我的單元格中使用JPanel的輸出看起來像「javax.swing.JPanel [,0,0,0x0,invalid,layout = java.awt.FlowLayout,ali ...」我在其他地方使用了相同類型的JLabel我的應用程序打開新的選項卡,並希望在我的表中具有相同類型的操作。添加Clickable JPanel到AbstractTableModel

public Object getValueAt(int row, int column) { 
      if (row >= getRowCount()) return "???"; 
      switch (column) { 
        case 1: 
         return "???" 
        case 2: 
         return myJPanel; 
        case 3: 
         return "?" ; 
        case 4: 
         return new Integer(2); 
        default: 
         return "???" ; 
      } 
    } 
+2

你正在尋找一個[的TableCellRenderer(http://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableCellRenderer。 HTML)而不是'AbstractTableModel'。看到這個[例子](http://java-swing-tips.blogspot.ie/2009/02/hyperlink-in-jtable-cell.html) – Reimeus 2013-02-15 21:26:57

回答

1

這不是表模型的工作原理。表模型模型數據。它們將信息提供給數據結構和類型的視圖。

這是視圖使用這些信息,並決定它應該如何顯示。

您所追求的是表格單元格渲染器和編輯器的角色。

看看how to use tables更多細節