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メソッドで描画しているコンポーネントにイベントを飛ばしています。

参考リンク

コメント