量産メモ帳

忘れっぽいのでメモを残しています。

Swing

Swing 関連のオープンソース。

久々に Swing アプリをガッツリとコーディングすることになりそうなので、最近はどんな OSS があるのかと思い、たまたま見かけたページを一読した。 Java Swing: Libraries, Tools, Layout Managers - Stack Overflow Java Swing programming book - Stack O…

Swing アプリケーションのデバッグ方法。

Debugging Swing | Java.net

コンポーネントを視覚的にデバッグする方法。

一つは、JComponent.html#setDebugGraphicsOptions(int) でコンポーネントにデバッグオプションを指定する方法。 DebugGraphics : DebugGraphics « Swing « Java Tutorial もう一つは、ガラス区画をトップレベルウィンドウに設定する方法。 Component Glass …

Focus イベントに関するコードサンプル。

以下のページからソースコードを引用させていただく。ただし、コードが正しいかどうかは検証していない。 ClientProperty - Kazzzの日記 ボタンがフォーカスを取得した時、フォーカスを失ったコンポーネントが検証イベントを発送しないようにする。 /* ボタ…

コンポーネントのフォーカスイベントのログ出力。

古臭いやり方かもしれんが、コンポーネントのフォーカス取得やフォーカス喪失のイベントは設定を変えればログ出力することができる。 まず ${JRE_HOME}*1/lib ディレクトリ内にある logging.properties を開き、 java.awt.focus.Component.level = ALL とい…

独自の ListCellRenderer を使って JComboBox に空の要素を表示。

単純に以下のようにやればできるもんだと思ってました。 public class MyListCellRenderer implements ListCellRenderer { /** RendererComponent */ private JLabel label = new JLabel(); @Override public Component getListCellRendererComponent(JList …

Event Dispatch Thread (EDT) について。

Swingスレッド処理-001 - いろいろ備忘録日記 Swingスレッド処理-002(イベントディスパッチスレッドについて, Swingのスレッドポリシー, シングルスレッドポリシー, Event Dispatch Thread) - いろいろ備忘録日記 Swingスレッド処理-003(時間のかかる処理の…

セパレータが表示されない。

セパレータ JSeparator(JComponent)#setPreferredSize メソッドを使って、幅なり高さなりを設定しないと表示されません。

FocusTravesalPolicy

http://forum.java.sun.com/thread.jspa?threadID=234532&messageID=1710043 http://java.sun.com/j2se/1.4.2/docs/api/java/awt/doc-files/FocusSpec.html Focusの移動 - Java Swing Tips

Editable Header Table Example

JTable のヘッダは基本的に編集不可だが、見出しで紹介したページを見れば、独自のヘッダを設定すれば、編集も可能となる。 で、ソースを眺めれば大体、分かるけど、一応、自分の頭を整理するためにクラス図を作ってみた。*1 *1:Jude Community 5.0.2を使用…

JComboBox に独自の ListCellRenderer を設定すると、プログラム内で項目を選択するコードを記述しても項目が選択できないのか?

とりあえず JComboBox の ListCellRenderer を利用しているクラスをピックアップ。 com.sun.java.swing.plaf.motif.MotifComboBoxUI com.sun.java.swing.plaf.windows.WindowsComboBoxUI javax.swing.plaf.basic.BasicComboBoxUI javax.swing.plaf.basic.Bas…

ガラス区画を利用したドラッグ&ドロップ。

Drag with style in Swing – Romain Guy ガラス区画って何に使うんだろうと今までずーっと疑問に思ってたが、こういう風に使うんだなーと納得。 ちなみにこのサンプルは『Java Swing Hacks』に載ってたのと同じやつ。

JScrollPane オブジェクトのビューポートに JPanel オブジェクトを設定すると、JPanel の表示領域が JScrollPane の表示領域よりも大きくなった時に表示がおかしくなる問題について。

既に何年も前に同様の問題が・・・。 JScrollPane にJPanel のサイズの変更を通知するには? で、解決策・・・。 http://java-house.jp/ml/archive/j-h-b/037470.html http://java-house.jp/ml/archive/j-h-b/037472.html JPanel の preferredSize に適切なサイズ…

JSpinner のサンプルサイト一覧。

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/swing/1.4/spinner.html J2SE, v1.4 の新機能 Spinner JSpinner - Java Swing Tips http://www.exampledepot.com/egs/javax.swing/pkg.html#JSpinner

ダリル・K・タフト氏によるジェームズ・ゴスリング氏への取材

今更読みました。。。 オープンソース化に満足?――Javaの父ゴスリング氏に聞く (1/2) - ITmedia ニュース 興味深かったところだけピックアップしてみます。 まずはピーターの法則。 ピーターの法則とは「すべての人は昇進を重ねて、おのおのの無能レベルに到…

カスタム Icon クラス。

ちょっと大げさなタイトルにしてしまい恐縮だが、ImageIcon でアイコンを使おうとすると画像ファイルをいちいち用意しなければいけない。 一方、自分で Icon インタフェースを継承して、paintIcon メソッドを実装しようにも、これまた計算とかが面倒臭い。 …

Swing 関連のライブラリ(と思われるものの)の一覧。

以下、アルファベット順に記述。 HermesJMS Iterator-based Swing Components for Large data models jfcUnit JGoodies NetBeans JFugue Support Pendulum Seasar Golf Project Spring Rich Client Project SuperEnvironmentLite Swing Application Framewor…

コンボボックスの要素をキー入力で選択する方法。

JComboBox は、キー入力された文字とコンボボックスの要素名の先頭の文字が一致すれば*1、その要素を選択するのがデフォルトの動作のようだ。 その辺の動作は JComboBox のインナークラスである DefaultKeySelectionManager が制御している様子。 で、コンボ…