如何将JLabel []添加到JTable?

时间:2013-04-12 14:33:39

标签: java arrays swing jtable jlabel

我有一个JLabel数组,我想添加到JTable中。我尝试使用

 myJTable.add(myJLabelArray);

希望它会起作用,但事实并非如此(显然,否则我不会在这里)。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

使用add方法不是向JTable添加组件的方法。不应将组件直接添加到JTable或其TableModel

JLabels只是呈现文本的Swing组件。

您可以使用TableCellRenderer。看看Editors & Renderers

答案 1 :(得分:0)

你不能只添加myJTable.add(myJLabelArray)。正如Reimeus所指出的那样使用Renderers

  jTable1.getColumnModel().getColumn(0).setCellRenderer(new Renderer()); //set column1 with jlabel

您的渲染应该扩展DefaulttableCellRenderer

 class Renderer extends DefaultTableCellRenderer {
  JLabel lbl = new JLabel();

 //ImageIcon icon = new ImageIcon(getClass().getResource("sample.png"));

 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
  boolean hasFocus, int row, int column) {
lbl.setText("hello");
//lbl.setIcon(icon);
return lbl;
}
}