Swing/HeaderTooltips のバックアップの現在との差分(No.3)
TITLE:JTableHeaderのTooltipsを列ごとに変更
JTableHeaderのTooltipsを列ごとに変更
編集者:Terai Atsuhiro~
作成日:2005-05-23
更新日:2024-02-09 (金) 13:14:41
概要
JTableHeader
のTooltips
がカーソルのある列の内容などを表示するようにします。
Screenshot
Advertisement
概要
JTableHeaderのTooltipsが、カーソルのある列の内容などを表示するようにします。サンプルコード
#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#screenshot
解説
-
JTableHeader#getToolTipText(MouseEvent)
メソッドをオーバーライドしてマウスカーソルの下にあるカラムヘッダを取得- その名前とその幅を
TooltipsText
として使用
- その名前とその幅を
サンプルコード
#spanend
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);
#spandel
- &jnlp;
- &jar;
- &zip;
参考リンク
- JTableHeader#getToolTipText() (Java Platform SE 8)
- JTableのTooltipsを行ごとに変更
- JTableのセルがクリップされている場合のみJToolTipを表示
解説
上記のサンプルでは、マウスカーソルの下にあるヘッダ列の名前などをTooltipsとして表示するようにしています。コメント
- 文字列がクリップされている場合だけ
JToolTip
を表示する -- aterai- JTableのセルがクリップされている場合のみJToolTipを表示に移動 -- aterai