2010-10-01から1ヶ月間の記事一覧

x,y,w,hの4つの値が255以下のときはintのビット演算で処理してみる

x,y,width,heightの値を扱うときRectangleを使ってもいいんですが まぁなんとなく気分でビット演算でやってみようという顔になった enum BitIntTest { INSTANCE; int value; void set(int val, int shift) { value &= ~(255<<(shift<<3)); value |= (val<<(s…

JInternalFrameのタイトルバーを消してウィンドウドラッグで移動するように

http://d.hatena.ne.jp/alpha_neet/20101011/1286772477 前回の続きです。 枠もタイトルバーも消してウィンドウ全体でドラッグ移動するようにしてみました。 オライリーのJAVA SWING HACKSを参考にしました。 import java.awt.*; import java.awt.event.*; i…

JInternalFrameのタイトルバーと枠の長さを取得

JFrameだとgetInsets().topの中にタイトルバーの長さも含まれてるんですが、 JInternalFrameだとLook&Feel(これがまたややこしくて資料が少ない)っぽいのを使ってるぽくて よく分からないんですけど、すこしめんどいことをしないと取得できないっぽいです。…

Fieldを利用して設定ファイルの記述を簡易化

http://d.hatena.ne.jp/alpha_neet/20101001/1285945730 前回のenumを使った簡易化なんですが今見るとかなりひどいです。おまえenum使いたかっただけちゃうんかと自分に思わずツッコミそうです。 今度はFieldを使ったやつに書き換えてみました。今回は型指定…

スコープの実行順

初期化子には static { }, { }, クラス名 { }(コンストラクタのこと)がある。 final staticのフィールドもstatic { }の中では変更できるみたいです。 finalのフィールドは{}とクラス名{}の中なら可能。 http://www.ne.jp/asahi/hishidama/home/tech/java/s…

命名規則によってメニューを自動生成

http://d.hatena.ne.jp/alpha_neet/20100930/1285842300 前回のgetMethod,invokeを応用してメニューを自動生成するクラスを作ってみた 記述をより簡易にするためにenumを使用。というかenumすごそう。 追いきれないで途中で使ってるけどもっといろんなことが…

enumを利用して設定ファイルの記述を簡易化

http://d.hatena.ne.jp/alpha_neet/20101001/1285884675前回から相変わらずenum弄ってます。なかなか面白いです。 enumはコンストラクタの扱いが特殊なので、一度だけ実行する処理がやりづらいです。 そのときはenumのインナークラスとしてprivate enumのシ…