From 424a8e4c9e1ebcd8c5140c3272d93822b765f377 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Tue, 22 Sep 2015 19:30:18 -0400 Subject: [PATCH] fixing the table headers --- app/src/processing/app/contrib/ListPanel.java | 43 +++++++++++-------- .../app/contrib/UpdateListPanel.java | 8 ++-- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/app/src/processing/app/contrib/ListPanel.java b/app/src/processing/app/contrib/ListPanel.java index 8aeeb0d59..803e48ea4 100644 --- a/app/src/processing/app/contrib/ListPanel.java +++ b/app/src/processing/app/contrib/ListPanel.java @@ -61,6 +61,10 @@ implements Scrollable, ContributionListing.ChangeListener { static Font plainFont; static Font boldFont; + static Font headerFont; + + // Should this be in theme.txt? Of course! Is it? No. + static final Color HEADER_BGCOLOR = new Color(0xffEBEBEB); public ListPanel() { @@ -72,12 +76,13 @@ implements Scrollable, ContributionListing.ChangeListener { plainFont = Toolkit.getSansFont(14, Font.PLAIN); boldFont = Toolkit.getSansFont(14, Font.BOLD); + headerFont = Toolkit.getSansFont(12, Font.PLAIN); } } public ListPanel(final ContributionTab contributionTab, - Contribution.Filter filter) { + Contribution.Filter filter) { this.contributionTab = contributionTab; this.filter = filter; @@ -89,17 +94,16 @@ implements Scrollable, ContributionListing.ChangeListener { new TreeMap(ContributionListing.COMPARATOR); model = new ContribTableModel(); - table = new JTable(model){ + table = new JTable(model) { @Override - public Component prepareRenderer( - TableCellRenderer renderer, int row, int column) { - Component c = super.prepareRenderer(renderer, row, column); - if (isRowSelected(row)) { - c.setBackground(new Color(0xe0fffd)); - } else { - c.setBackground(Color.white); - } - return c; + public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { + Component c = super.prepareRenderer(renderer, row, column); + if (isRowSelected(row)) { + c.setBackground(new Color(0xe0fffd)); + } else { + c.setBackground(Color.white); + } + return c; } }; @@ -223,16 +227,19 @@ implements Scrollable, ContributionListing.ChangeListener { boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + JTableHeader tableHeader = table.getTableHeader(); if (tableHeader != null) { setForeground(tableHeader.getForeground()); } - setIcon(getIcon(table, column)); - if (column % 2 == 0) { - setBackground(new Color(0xdfdfdf)); - } else { - setBackground(new Color(0xebebeb)); - } + setFont(headerFont); + setIcon(getSortIcon(table, column)); + setBackground(HEADER_BGCOLOR); +// if (column % 2 == 0) { +// setBackground(new Color(0xdfdfdf)); +// } else { +// setBackground(new Color(0xebebeb)); +// } setBorder(null); return this; } @@ -245,7 +252,7 @@ implements Scrollable, ContributionListing.ChangeListener { * @param column the column index. * @return the sort icon, or null if the column is unsorted. */ - protected Icon getIcon(JTable table, int column) { + protected Icon getSortIcon(JTable table, int column) { SortKey sortKey = getSortKey(table, column); if (sortKey != null && table.convertColumnIndexToView(sortKey.getColumn()) == column) { switch (sortKey.getSortOrder()) { diff --git a/app/src/processing/app/contrib/UpdateListPanel.java b/app/src/processing/app/contrib/UpdateListPanel.java index 9b624f150..de2fcbe40 100644 --- a/app/src/processing/app/contrib/UpdateListPanel.java +++ b/app/src/processing/app/contrib/UpdateListPanel.java @@ -18,7 +18,6 @@ import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; -import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import processing.app.Base; @@ -112,25 +111,24 @@ public class UpdateListPanel extends ListPanel { } }); - table.getTableHeader().setDefaultRenderer(new ContribHeaderRenderer() { + table.getTableHeader().setDefaultRenderer(new ContribHeaderRenderer()); /* { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - // TODO this doesn't do anything with the returned value? [fry] super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); JTableHeader tableHeader = table.getTableHeader(); if (tableHeader != null) { setForeground(tableHeader.getForeground()); } - setIcon(getIcon(table, column)); + setIcon(getSortIcon(table, column)); setBackground(new Color(0xebebeb)); return this; } - }); + });*/ GroupLayout layout = new GroupLayout(this); layout.setHorizontalGroup(layout.createParallelGroup().addComponent(scrollPane));