TITLE:BorderにJComponentを配置

BorderにJComponentを配置

編集者:Terai Atsuhiro
作成日:2006-04-10
更新日:2022-10-07 (金) 14:58:10

概要

BorderにJCheckBoxやJButtonなどを配置します。Santhosh Kumar's WeblogComponentTitledBorderを利用しています。

#screenshot

サンプルコード

 JCheckBox c = new JCheckBox("adfasdf", true);
 c.setFocusPainted(false); 
 JLabel l1 = new JLabel("adfasdfasdfa");
 Border eb = BorderFactory.createEtchedBorder();
 l1.setBorder(new ComponentTitledBorder(c, l1, eb));
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルでは、Santhosh Kumar's WeblogComponentTitledBorderを利用しています。

SwingUtilities.paintComponentでBorderにコンポーネントを描画しているため、JComboBoxなどが選択されてもイベントが伝わりません。このためComponentTitledBorderでは、マウスリスナーを設定してComponent#dispatchEventメソッドで描画しているコンポーネントにイベントを飛ばしています。

参考リンク

コメント