Duplicate :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
This is an umbrella CR for two problems with JTableHeader 1) JTableHeader reacts to the mouse when disabled public class TableHeaderDisabled { private JComponent createContent() { JTable table = new JTable(20, 5); table.setAutoCreateRowSorter(true); table.setEnabled(false); table.getTableHeader().setEnabled(false); JComponent content = new JScrollPane(table); return content; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(""); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new TableHeaderDisabled().createContent()); frame.setLocationRelativeTo(null); frame.pack(); frame.setVisible(true); } }); } } 2) JTableHeader doesn't allow to drag a column to a new place when it is not attached to a JTable, try to drag a column to a new place with the following test case: (not that the dragged column returns to its initial place!) import javax.swing.*; import javax.swing.table.JTableHeader; public class TableHeaderStandAlone { private static void createGui() { final JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // just to quickly grab a column model JTable table = new JTable(10, 5); JTableHeader header = new JTableHeader(table.getColumnModel()); frame.add(header); frame.setSize(200, 200); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) throws Exception { SwingUtilities.invokeAndWait(new Runnable() { public void run() { TableHeaderStandAlone.createGui(); } }); } }
|