TITLE:JTableHeaderを非表示にする

Posted by terai at 2010-11-01

JTableHeaderを非表示にする

JTableHeaderの表示、非表示を切り替えます。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

final JScrollPane scrollPane = new JScrollPane(table);
JCheckBox check = new JCheckBox("JTableHeader visible: ", true);
check.addActionListener(new ActionListener() {
  @Override public void actionPerformed(ActionEvent e) {
    JCheckBox cb = (JCheckBox)e.getSource();
    //table.getTableHeader().setVisible(cb.isSelected());
    scrollPane.getColumnHeader().setVisible(cb.isSelected());
    scrollPane.revalidate();
  }
});

解説

上記のサンプルでは、tble.setTableHeader(null)や、table.setTableHeader(new JTableHeader(table.getColumnModel()))は使用せず、JTableを配置したJScrollPaneのJScrollPane#getColumnHeader().setVisible(boolean)メソッドを使って、JTableHeaderの表示、非表示を変更しています。

コメント