[EGIT PATCH 1/3] Set table row height for the glog JTable
- From
Robin Rosenberg <robin.rosenberg@dewire.com>
- Date
- Oct 1, 2008, 19:31 UTC
- Message-ID
- <1222889493-12736-2-git-send-email-robin.rosenberg@dewire.com>
- In-Reply-To
- <1222889493-12736-1-git-send-email-robin.rosenberg@dewire.com>
For some obscure reason JTable has a fixed default row size of 16 pixels. This doesn't work well outside the default look-and-feels shipped with the JRE, e.g. the GTK look and feel for Linux.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com> --- .../org/spearce/jgit/awtui/CommitGraphPane.java | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java index 2be0e95..d778821 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java +++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java @@ -52,6 +52,7 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.JTableHeader; +import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import javax.swing.table.TableModel; @@ -83,8 +84,18 @@ public CommitGraphPane() { allCommits = new SwingCommitList(); configureHeader(); setShowHorizontalLines(false); - setRowMargin(0); setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + configureRowHeight(); + } + + private void configureRowHeight() { + int h = 0; + for (int i = 0; i<getColumnCount(); ++i) { + TableCellRenderer renderer = getDefaultRenderer(getColumnClass(i)); + Component c = renderer.getTableCellRendererComponent(this, "\u00c5Oj", false, false, 0, i); + h = Math.max(h, c.getPreferredSize().height); + } + setRowHeight(h + getRowMargin()); } /**
-- 1.6.0.1.310.gf789d0.dirty