[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 1723] Re: JDK1.4 の新機能関連



 > > フルスクリーン - 動きますね :)
 > 楽しいですね。

はい :) - ところで/ちなみに最初の紹介のサイトにあったサンプルで
FullScreenTest
  JFrame frame = new JFrame(gc);
  //frame.setUndecorated(true);   //causes repaint to be missed on linux/jdk1.4?
この setUndecorated() があるとぼくのとこ(slackware8 linux2.4.5 jdk1.4 beta2)では
きちんと再描画からかないのですけどなぜかしらん? -- ま、いいか (^^;

 > うーん、スクリーンセーバーの仕掛けがわかってないので何とも。
 > OSによって違うので、JNIなりJavaを起動する小さなネイティブプログラム
 > (多分CかC++で書くだろう)が必要になると思います。
 > Googleに聞いてみると、一発目にJava ScreenSaverなんてページがありますね。
 > http://www.cebl.auckland.ac.nz/pages/cebldisplayer.html
 > こんなのもありました。
 > http://kevinkelley.mystarband.net/java/sava.html

をを!なるほど native code で``包んじゃう''方法がありましたね。 (thanks!どうもです)
unix/x window で http://www.jwz.org/xscreensaver/ ばかりを
頭のなかに置いていて...外しました。
これによると大きく3つ: XIDLE/SCREEN_SAVER/MIT-SCREEN-SAVER
適当な方法があるということなのですが (ref: config.h)、
結局 java からこれのコマンドライン版を通してプログラム間
通信でもするか?とか考えていたところでした。。。
(だけれど JNI 部分で idle 検出しても fullscreen/lock する
部分は何でやるの?とかいうはなしがこれには付きまとうのですよね :p)

 > > Q: getCallerMethod() というのはないのかしらん?...
 > >    (java.lang.StackTraceElement というのはあるのですけどちょっと違うらしい)
 > JDK1.4から、java.lang.Throwalbeクラスに次のメソッドが追加されたようです。
 >  public StackTraceElement[] getStackTrace()
 > 例えば、
 > StackTraceElement[] elements = new Exception().getStackTrace();
 > System.out.println("Caller is " + elements[0].getClassName());
 > といったような感じでしょうか?

そう! -- ちかいのですけど欲しいのは,じつは
    public String getMethodName() {
        return methodName;
    }
ではなく
    public java.lang.reflect.Method getMethod() {
        return method;
    }
(のようなもの)だったりします ;p

こなか