如何添加JLabel[]到JTable



我有一个jlabel数组,我想将其添加到JTable中。我试着用

 myJTable.add(myJLabelArray);

希望它能工作,但它没有(显然,否则我不会在这里)。

有人能帮帮我吗?

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

JLabels只是渲染文本的Swing组件。

您可以使用TableCellRenderer。看看Editors &渲染器

不能直接添加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;
}
}

最新更新