忍者ブログ

マインのブログ

マインが何かを気まぐれに書く日記です。

[PR]

カテゴリー:

2024/11/23(Sat)23:00

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

No.|CommentTrackback

あれ?意外に余裕?

カテゴリー:プログラムとか

2010/01/01(Fri)00:49

なーんか意外にネット軽いですねー。
年明けてもう30分以上たちますからねー。
ということで、
明けましておめでとうございます。
今年もよろしくお願いします。

えーと、前の日記を書いてからちょろちょろとプログラムを組んでました。
今回やってたのはスクロールペインのちょっとした改造みたいなことやってました。
やってたことは、スクロールの必要がない場合、バーは無効(不活性、非活性)になる、というやつ。
IEやEclipseではよくあることですが、JScrollPaneではスクロールバーの表示ポリシーは
・必要に応じて表示する
・常に表示しない
・常に表示する
の3つしかないです。
なので、そのまま使っただけではIEやEclipseみたいなことが出来ないわけです。

で、スクロールの有無によってスクロールバーの有効・無効の切り替えの方法ですが、
JScrollPaneのスクロールバー(getHorizontalScrollBar()とgetVerticalScrollBar()で取得)に
AdjustmentListenerを設定して、それば呼び出されるたびにスクロールバーの
状態を見て有効・無効を切り替えます。
スクロールの有無はJScrollBar.getMaximum()とJScrollBar.getVisibleAmount()を見ます。
maximumとvisibleAmountの値が同じ時はスクロールの必要がないときです。
maximum>visibleAmountのときはスクロールが必要な時です。
その判定をJScrollBar.setVisible()で有効・無効を切り替えます。

それでプログラムを組んでみました。
えと、名前が変なのは無視してください。
一応、マインなのでJの代わりにMineを付けてみただけです。
MineScrollPaneSS1.JPG
スクロールが必要ないとき

MineScrollPaneSS2.JPG
スクロールが必要な時

で、以下、Jarファイル、ソースファイル、Javadocです。
サンプルとして実行してみたい時はJarファイルをダウンロードして実行してください。
そのプログラムのソースがzipになってます。
一応、Javadocも作ってみました。
参考までに

サンプルプログラム
ソース
Javadoc

なお、このプログラム、ソースなどを使用して起きたいかなる不具合等については
私マインは一切の責任を負いません。
自己責任でお願いします。
まあ、ちょっとした意見とかなら受け付けますけど。
あと、ソースはかなりテキトーに作ってるんで最善のものかは知りません。
あしからず。

拍手[0回]

PR

No.1891|Comment(0)Trackback()

Comment

Comment Write
Name
Title
Mail
URL

Pass Vodafone絵文字 i-mode絵文字 Ezweb絵文字 

Trackback

URL :