Index (April 2006)
スピン展開ウィジェットの自作(Java Swing)
小さい矢印をクリックするとコンポーネントが出現する・・・ という振る舞いをするコンポーネントの自作。
めったに使わないツールバー領域を通常は隠しておいて、 必要なときに出現させて使う・・・といった用途に適している。
スピン領域が閉じている状態

スピン領域が開いている状態

XWindowで画面キャプチャを取る
2009-07-07 追記 Ubuntu8.04 では【アプリケーション - アクセサリ - スクリーンショットの取得】でOK. 付属のGIMP からはスクリーンショット取得はなくなっているようです。
GIMPで取る方法と、import というコマンドラインで作動するツールで取る方法がある。 (他にもあると思いますが)
実際にやってみるまでは、
GIMPは、起動に時間がかかるので、importの方が都合がいいと思ったのですが、
違いました。
importでスクリーンショットを取ったそのままの画像を使用する場合は問題ないのですが、
その画像を加工する必要がある場合は、
結局GIMPを起動するため、
結論としては、GIMPですべて処理してしまった方が話がはやいようです。
jarにリソースファイルを含める方法、それをプログラムから使う方法(Java,resource,jar)
一般向けに配布するプログラムを作る場合、 プログラム中で使用する画像やファイルをjarに含めておくと ユーザにとっては取り扱いが非常に楽になります。 (jar一個をコピーするだけで済みます)
開発者の方は、jarにリソースを含めたり、含めたリソースからデータを読み出す コードを書かないといけないので、多少負担が増えます。
PNGをGIFやJPEGに変換したい
通常の用途では、ウェブでイメージを扱うときは、PNG形式でほとんど間に合うのだが、 時々、GIFに変換する必要が生じることがある。 どうすればいいのか。
複数のPDFを一つのファイルに結合する
単純にPDFファイルを結合したいだけならば、 AcrobatReaderを使うか、pdftkなどのツールを使えばできます。
ここでは、iTextを使ってPDFを結合する方法を紹介します。
また、 iTextを簡単に使うために、jythonを使用します。
MacOSXでは、印刷できるどの書類からもPDF出力できるので便利。 しかし、別々に作成したPDFをひとつのPDFにまとめる処理ができないようなので (できる方法がある?知らないだけかもしれない。) Java(とJython)で 複数のPDFをまとめるコードを書いてみました。
MacOSXにははじめからJavaが用意されていますから...
Vine3.2にJikes1.22をインストール
apt-get install jikes としてみたが、jikesは用意されていなかった。 aptで入れられないのは、 適切に /etc/apt/source.list を設定していないだけなのかもしれないが、 jikesの場合、ソースからでもたいした手間はないので、自分でインストールすることにする。
Linuxで、JavaAppletを使えるようにする
emacsでいつもの設定メモ(バックアップファイルを作成しない,80文字目で勝手に改行しない)
バックアップファイルを作成しない指定をするには...
$HOME/.emacs.el に以下を追記。
(setq make-backup-files nil)
Vine3.2で日本語表示がうまくいった fontconfig.properties (JDK1.5)
JDK1.4ではフォント描画関係で問題が出てしまったので、 JDK1.5で試してみたが、 やはりデフォルトでは文字化けが発生してしまう。
googleで調べたところ
に有益な情報があったので、それを利用したのだが、わたしの環境では、ここに書いてある通りでは うまくいかなかったので、メモ。
プルダウンメニューつきのボタンの自作(Java Swing)
Eclipseの[Run]ボタンのようにプルダウンメニュー付きのボタンを自作してみました。
レイアウトマネージャの自作(VerticalLayout)
FlowLayoutは横にコンポーネントを配置していきますが、 これとは逆に縦に配置していくレイアウトマネージャを自作してみました。
ちなみに、 javax.swing.Box を使用して同じようなことを実現できます。 実際に縦にコンポーネントを配置したい場合、 javax.swing.Boxで済ませることができないか、先に検討した方がよいでしょう。
Java Swingによるドラッグアンドドロップ(drag-and-drop)の実装
Javaで実装する場合に限らず、 一般的にドラッグアンドドロップの処理は、 いろいろな要素(処理やメッセージの伝達)が関わってくるので わかりにくい部分があります。
ざっと思いつくままに挙げても、以下のような点に注意してコーディングする必要があります。
- ドラッグ元での処理
- ドラッグ開始時の処理
- ドロップ先での処理
- ドロップしたときの処理(ドラッグ完了したときのドラッグ元での処理)
- ドラッグ中の処理(ドロップ領域に入ったとか出たとか)
など。
しかし、ドラッグアンドドロップ中に起きる処理の流れ全体を把握して、 そのそれぞれでどのクラスが関わってくるのかを把握できれば、 Javaでの実装はかなり簡単です。
異なるJavaVM間やネイティブなプラットフォーム上のアプリケーションとの ドラッグアンドドロップに対応しているので、 これをマスターするとかなりおもしろいことができそうです。
このエントリーのコードをコンパル・実行するには、 Java SE 1.4.2 SDK が必要です。
タイムマシンテレビ...こんなHDDレコーダー内蔵テレビがほしい(idea)
放映時間を自分の都合にあわせられるテレビが、ほしい。
- 12時からはじまる10分間のテレビ番組を見ようと思っていていたが、他ごとに熱中していて、気づいたら既に12時30分だった
- 偶然テレビをつけたら興味深い番組をやっていたけど、すでに番組スタートから30分経過していた
- 21時から始まる映画を楽しみに帰宅したが、ちょっとしたアクシデントで15分遅れてしまった、一番いいところを見逃すことになった。
そういうことってないですか。
そんなときいつも、タイムマシンテレビがほしくなります。
ホームページの引越をする場合のリダイレクト記述方法(servlet)
ホームページの引越などで、新しいURLへリダイレクトさせたい場合、 いちいち該当ファイルに引越案内を記述するのは大変です。 こんなとき、特定パスにアクセスした場合は、 引越先のURLへリダイレクトを一括で指定できたら便利です。
こんなときは、web.xmlに以下のような記述をした上で、 redirector.jsp を配置しておけばいいことが判明。 (Tomcatハンドブック O'Reillyを参考にしています。)