Swing/FishEyeTable のバックアップ差分(No.4)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/FishEyeTable へ行く。
- 1 (2008-11-24 (月) 16:48:07)
- 2 (2008-12-25 (木) 16:12:38)
- 3 (2011-05-13 (金) 23:02:34)
- 4 (2013-01-15 (火) 17:43:01)
- 5 (2014-11-29 (土) 01:46:17)
- 6 (2014-12-18 (木) 17:13:04)
- 7 (2015-03-19 (木) 16:13:47)
- 8 (2016-05-26 (木) 01:02:09)
- 9 (2016-09-28 (水) 17:08:30)
- 10 (2017-11-09 (木) 14:07:40)
- 11 (2018-02-24 (土) 19:51:30)
- 12 (2019-07-03 (水) 17:52:32)
- 13 (2021-03-14 (日) 19:52:32)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JTableの行の高さを変更する #navi(../) RIGHT:Posted by [[aterai]] at 2008-11-24 #tags() RIGHT:Posted by &author(aterai); at 2008-11-24 *JTableの行の高さを変更する [#f76fb424] JTableの行の高さを変更して、マウスカーソルの下を魚眼レンズのように拡大します。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTMw3Q5yMI/AAAAAAAAAZs/0O7lUunN9Rw/s800/FishEyeTable.png) **サンプルコード [#h51cf8b6] #code{{ public void mouseMoved(MouseEvent e) { #code(link){{ @Override public void mouseMoved(MouseEvent e) { int row = rowAtPoint(e.getPoint()); if(prev_row==row) return; initRowHeigth(prev_height, row); prev_row = row; } public void initRowHeigth(int height, int ccRow) { int rd2 = (fishEyeRowList.size()-1)/2; int rowCount = getModel().getRowCount(); int view_rc = getViewableColoredRowCount(ccRow); int view_h = 0; for(int i=0;i<view_rc;i++) view_h += fishEyeRowHeightList.get(i); int rest_rc = rowCount - view_rc; int rest_h = height - view_h; int rest_rh = rest_h/rest_rc; rest_rh = rest_rh>0?rest_rh:1; int a = rest_h - rest_rh*rest_rc; int index = -1; for(int i=-rd2;i<rowCount;i++) { int crh; if(ccRow-rd2<=i && i<=ccRow+rd2) { index++; if(i<0) continue; crh = fishEyeRowHeightList.get(index); }else{ if(i<0) continue; crh = rest_rh+(a>0?1:0); a = a-1; } setRowHeight(i, crh); } } }} **解説 [#l87b6de9] 上記のサンプルでは、マウスカーソルの下の行の高さを、JTable#setRowHeight() メソッドを使って変更することで、魚眼レンズのように拡大するようになっています。 -注意 --JTable#setFillsViewportHeight(true); を使用しているので、JDK 6 以上が必要です。 --JTableの高さが変更される場合は考慮していません。 **参考リンク [#s1716c99] -[http://www.cs.umd.edu/hcil/fisheyemenu/ Fisheye Menus] **コメント [#e349a66c] - スクリーンショット更新 -- [[aterai]] &new{2008-12-25 (木) 16:12:54}; #comment