2013-05-15 38 views
1

如何將JTable單元居中到JTable的中間?將JTable的單元居中到JTable的中間

我使用表來繪製表格中的框,但是當調整大小時,單元保持左上對齊。當桌子很好地適合細胞時,這不是問題。但是,當我調整窗口的大小(與它的表),這是錯誤的:

fine lookingwrong

我的問題是,是否有可能使細胞出現在桌子中間?我想我可以在側面使用膠水(這是BorderLayout),但我寧願採取這種方法。

+0

*「我正在使用JTable來繪製表格中的框,..」*爲什麼濫用JTable看起來像純粹的渲染事物?這個是來做什麼的? –

+0

我嘗試使用允許垂直填充的佈局管理器,但也要水平對齊組件。像GridBagLayout的東西 – MadProgrammer

+0

*「我可以在邊上使用膠水(這是'BorderLayout')」*不,你不能,膠水不是適用於'BorderLayout'的概念。 –

回答

1

由於您的TableCellRenderer只是繪製彩色塊,所以您可以將表格放入FlowLayout並覆蓋getPreferredScrollableViewportSize()

private static final int WIDE = 10; 
private static final int HIGH = 20; 
private static final int SIZE = 50; 
... 
@Override 
public Dimension getPreferredScrollableViewportSize() { 
    return new Dimension(WIDE * SIZE, HIGH * SIZE); 
}