diff --git a/Mage.Client/src/main/java/mage/client/table/MageTable.java b/Mage.Client/src/main/java/mage/client/table/MageTable.java index 8edce116622..03486d54291 100644 --- a/Mage.Client/src/main/java/mage/client/table/MageTable.java +++ b/Mage.Client/src/main/java/mage/client/table/MageTable.java @@ -4,6 +4,7 @@ import mage.client.util.GUISizeHelper; import javax.swing.*; import javax.swing.table.JTableHeader; +import javax.swing.table.TableColumn; import java.awt.event.MouseEvent; /** @@ -13,6 +14,10 @@ public class MageTable extends JTable { private TableInfo tableInfo; + public MageTable() { + this(null); + } + public MageTable(TableInfo tableInfo) { this.tableInfo = tableInfo; } @@ -43,11 +48,19 @@ public class MageTable extends JTable { // html tooltip java.awt.Point p = e.getPoint(); int index = columnModel.getColumnIndexAtX(p.x); - int realIndex = columnModel.getColumn(index).getModelIndex(); + TableColumn col = columnModel.getColumn(index); + int realIndex = col.getModelIndex(); - String tip = tableInfo.getColumnByIndex(realIndex).getHeaderHint(); - if (tip == null) { - tip = tableInfo.getColumnByIndex(realIndex).getHeaderName(); + String tip; + if (tableInfo != null) { + // custom hint from table info + tip = tableInfo.getColumnByIndex(realIndex).getHeaderHint(); + if (tip == null) { + tip = tableInfo.getColumnByIndex(realIndex).getHeaderName(); + } + } else { + // default hint from header + tip = col.getHeaderValue().toString(); } return GUISizeHelper.textToHtmlWithSize(tip, GUISizeHelper.tableFont); diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index 7652a5040b5..8bcd2c43b51 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -810,9 +810,9 @@ public class TablesPanel extends javax.swing.JPanel { jPanelTables = new javax.swing.JPanel(); jSplitPaneTables = new javax.swing.JSplitPane(); jScrollPaneTablesActive = new javax.swing.JScrollPane(); - tableTables = new javax.swing.JTable(); + tableTables = new MageTable(); jScrollPaneTablesFinished = new javax.swing.JScrollPane(); - tableCompleted = new javax.swing.JTable(); + tableCompleted = new MageTable(); chatPanelMain = new mage.client.table.PlayersChatPanel(); jPanelBottom = new javax.swing.JPanel(); jButtonFooterNext = new javax.swing.JButton(); @@ -1351,8 +1351,8 @@ public class TablesPanel extends javax.swing.JPanel { private javax.swing.JToolBar.Separator jSeparator5; private javax.swing.JSplitPane jSplitPane1; private javax.swing.JSplitPane jSplitPaneTables; - private javax.swing.JTable tableCompleted; - private javax.swing.JTable tableTables; + private MageTable tableCompleted; + private MageTable tableTables; // End of variables declaration//GEN-END:variables } diff --git a/Mage.Client/src/main/java/mage/client/table/TablesTableModel.java b/Mage.Client/src/main/java/mage/client/table/TablesTableModel.java index ae431fb0879..fd9b482f68b 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesTableModel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesTableModel.java @@ -12,8 +12,19 @@ import java.util.Date; public class TablesTableModel extends AbstractTableModel { - final ImageIcon tourneyIcon = new ImageIcon(getClass().getResource("/tables/tourney_icon.png")); - final ImageIcon matchIcon = new ImageIcon(getClass().getResource("/tables/match_icon.png")); + // icons with tostring for tables hints + final ImageIcon tourneyIcon = new ImageIcon(getClass().getResource("/tables/tourney_icon.png")) { + @Override + public String toString() { + return "Tourney"; + } + }; + final ImageIcon matchIcon = new ImageIcon(getClass().getResource("/tables/match_icon.png")) { + @Override + public String toString() { + return "Match"; + } + }; public static final int COLUMN_ICON = 0; public static final int COLUMN_DECK_TYPE = 1; // column the deck type is located (starting with 0) Start string is used to check for Limited