我想为表格的每一行着色, 通过使用数据库的特定值
spcification of mine database is some what like ** id name color 1 pavan red 2 xyz white **
我可以使用颜色来完成表格
table.setBackground(new color(158,145,134); please provide me some solution or hint to approch towards answer, Thanks in advance.
最佳答案
使用 JTable 一点也不难!事实上,这非常简单!
在这里查看我的答案:Highlight a cell in JTable via custom table model
为了方便转载:
<小时/>...子类 JTable 并覆盖 JTable.preparedRenderer(TableCellRenderer renderer, int row, int column)
。如果行
和列
数字相同,您可以更改作为显示返回的Component
的背景颜色(通常是 JLabel
);
下面是突出显示鼠标所在行的示例:
@Override
public Component prepareRenderer(final TableCellRenderer renderer, final int row, final int column) {
final Component c = super.prepareRenderer(renderer, row, column);
if (row == this.itsRow) {
c.setBackground(Color.RED);
}
return c;
}
其中 this.itsRow
是由 MouseMotionListener
更新的 int 字段:
this.addMouseMotionListener(new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {
SubclassedJTable.this.itsRow = SubclassedJTable.this.rowAtPoint(e.getPoint());
SubclassedJTable.this.repaint();
}
public void mouseDragged(MouseEvent e) {/***/}
});
关于java - 选项而不是 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9943544/