[EGIT PATCH 1/3] Set table row height for the glog JTable
From: Robin Rosenberg <hidden>
Date: 2016-06-15 22:45:26
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- .../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