我的问题是这样的:我有一个 JTable,我将 JProgressBar 放在一个列中,但它填满了整个单元格。
我只想设置 JProgressBar 的大小,以便它显示带有单元格边框的边距。
我的 JProgressBar 代码:
private final JProgressBar b;
public ProgressBarRender(){
super();
setOpaque(true);
b = new JProgressBar();
b.setStringPainted(true);
b.setMinimum(0);
b.setMaximum(100);
b.setBorderPainted(true);
b.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
//b.setPreferredSize(new Dimension(1,1));
b.setOpaque(true);
//TODO
//b.setForeground(Color.magenta);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Integer i = (Integer) value;
b.setValue(i);
return b;
}
我已经调用了 JProgressBar 的 setPreferredSize 方法,但它不起作用。我也调用了 JTable 的 setIntercellSpacing 方法,但是当 JTable'row 选择的背景不显示在空间中时,这不是我想要的。谁能帮我?