Revision 41830 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/dal/feature/swing/FeatureTablePanel.java
FeatureTablePanel.java | ||
---|---|---|
299 | 299 |
}; |
300 | 300 |
final JList rowHeader = new JList(lm); |
301 | 301 |
rowHeader.setBackground(table.getTableHeader().getBackground()); |
302 |
rowHeader.setCellRenderer(new RowHeaderRenderer(table)); |
|
302 |
rowHeader.setCellRenderer(new RowHeaderRenderer(table,rowHeader));
|
|
303 | 303 |
jScrollPane.setRowHeaderView(rowHeader); |
304 | 304 |
} |
305 | 305 |
}); |
306 | 306 |
} |
307 | 307 |
|
308 | 308 |
private static class RowHeaderRenderer extends JButton implements ListCellRenderer { |
309 |
|
|
310 | 309 |
private JTable table = null; |
311 | 310 |
private final Dimension dimension = new Dimension(); |
312 |
|
|
313 |
RowHeaderRenderer(JTable table) { |
|
311 |
private JList rowHeader; |
|
312 |
|
|
313 |
RowHeaderRenderer(JTable table,JList rowHeader) { |
|
314 | 314 |
JTableHeader header = table.getTableHeader(); |
315 | 315 |
setOpaque(true); |
316 | 316 |
setBorder(UIManager.getBorder("TableHeader.cellBorder")); |
... | ... | |
319 | 319 |
setBackground(header.getBackground()); |
320 | 320 |
setFont(header.getFont()); |
321 | 321 |
this.table = table; |
322 |
// 1234567 |
|
323 |
Rectangle2D r = this.getFont().getStringBounds( "_______", new FontRenderContext(null,true,true)); |
|
324 |
this.dimension.width = (int) r.getWidth(); |
|
322 |
this.rowHeader = rowHeader; |
|
325 | 323 |
} |
326 | 324 |
|
327 | 325 |
public Component getListCellRendererComponent(JList list, Object value, |
328 | 326 |
int index, boolean isSelected, boolean cellHasFocus) { |
329 | 327 |
setText((value == null) ? "" : value.toString()); |
328 |
this.setPreferredSize(null); // Fuerza recalcular el tama?o del boton |
|
330 | 329 |
this.dimension.height = this.table.getRowHeight(index); |
330 |
this.dimension.width = this.getPreferredSize().width+10; |
|
331 | 331 |
this.setPreferredSize(this.dimension); |
332 | 332 |
return this; |
333 | 333 |
} |
Also available in: Unified diff