Swing/HeaderTooltips のバックアップの現在との差分(No.1)
JTableHeaderのTooltipsを列ごとに変更
編集者:Terai Atsuhiro~
作成日:2005-05-23
更新日:2024-02-09 (金) 13:14:41
概要
JTableHeader
のTooltips
がカーソルのある列の内容などを表示するようにします。
概要
JTableHeaderのTooltipsが、カーソルのある列の内容などを表示するようにします。Screenshot
Advertisement
サンプルコード
#spanend
#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());
}
#spanadd
});
#spanend
#spanadd
View in GitHub: Java, Kotlinサンプルコード
JTableHeader header = new JTableHeader(table.getColumnModel()) { public String getToolTipText(MouseEvent me) { int col = columnAtPoint(me.getPoint()); if(col<0) { return null; }else{ return getTable().getColumnName(col)+"について詳しい説明など"; } } }; table.setTableHeader(header);
解説
-
JTableHeader#getToolTipText(MouseEvent)
メソッドをオーバーライドしてマウスカーソルの下にあるカラムヘッダを取得- その名前とその幅を
TooltipsText
として使用
- その名前とその幅を
参考リンク
- JTableHeader#getToolTipText() (Java Platform SE 8)
- JTableのTooltipsを行ごとに変更
- JTableのセルがクリップされている場合のみJToolTipを表示
解説
上記のサンプルでは、カーソルがあるヘッダ列の名前をTooltipsで表示するようにしています。コメント
- 文字列がクリップされている場合だけ
JToolTip
を表示する -- aterai- JTableのセルがクリップされている場合のみJToolTipを表示に移動 -- aterai