TITLE:JTableHeaderのTooltipsを列ごとに変更
Posted by at 2005-05-23

JTableHeaderのTooltipsを列ごとに変更

JTableHeaderのTooltipsが、カーソルのある列の内容などを表示するようにします。
  • category: swing folder: HeaderTooltips title: JTableHeaderのTooltipsを列ごとに変更 tags: [JTable, JTableHeader, JToolTip] author: aterai pubdate: 2005-05-23T10:16:01+09:00 description: JTableHeaderのTooltipsがカーソルのある列の内容などを表示するようにします。 image: https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTNx5xm6BI/AAAAAAAAAbU/LCSjxDNp8p0/s800/HeaderTooltips.png

概要

JTableHeaderTooltipsがカーソルのある列の内容などを表示するようにします。
HeaderTooltips.png

サンプルコード

サンプルコード

#spandel
JTableHeader header = new JTableHeader(table.getColumnModel()) {
#spanend
  public String getToolTipText(MouseEvent e) {
    int c = columnAtPoint(e.getPoint());
    return getTable().getColumnName(c)
      +"################################";
#spanadd
JTable table = new JTable(model);
#spanend
#spanadd
table.setTableHeader(new JTableHeader(table.getColumnModel()) {
#spanend
  @Override public String getToolTipText(MouseEvent e) {
    int i = columnAtPoint(e.getPoint());
    TableColumn c = getColumnModel().getColumn(i);
    return String.format("%s (width=%dpx)", c.getHeaderValue(), c.getWidth());
  }
#spandel
};
#spanend
#spandel
table.setTableHeader(header);
#spanend
#spanadd
});
#spanend
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、JTableHeader#getToolTipTextメソッドをオーバーライドして、マウスカーソルの下にあるカラムヘッダの名前などをTooltipsとして返すようにしています。

解説

  • JTableHeader#getToolTipText(MouseEvent)メソッドをオーバーライドしてマウスカーソルの下にあるカラムヘッダを取得
    • その名前とその幅をTooltipsTextとして使用

参考リンク

参考リンク

コメント

コメント