[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/29 20:36 / Filesize : 380 KB / Number-of Response : 982
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★ Java の宿題ここで答えます Part 64 ★★



861 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 15:58:22 ]
>>858
別領域に表示でなくチェックボックスの画像として表示するのね。その場合でもあまり難しく考えず、
> 画像の変更のタイミングはメッセージの変更と同じところにsetIconを記述すればいいと思う。
って書いたように、itemStateChanged内でメッセージを変えるようにIconも変えればいいんじゃないかと思う。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=30291
かなり適当だけどこれは最初は画像なしで、itemStateChangedが呼ばれるタイミングでIconを設定したり消したりして、
それに合わせてpackでウインドウサイズも変えるようにしている。
ウインドウサイズがころころ変わるのが嫌だったら、
鳥の画像サイズに合わせて空白(緑色?)のダミー画像をIconに設定しておき、
itemStateChanged内でIconを消す(setIcon(null))ところは、ダミーを再設定するようにすればいいと思う。

それと、>>858のコードで、
> check1 = new JCheckBox("モリバト", false);
> check1. setBackground(Color.green);
> check1.addItemListener(this);
> JCheckBox check1 = new JCheckBox("モリバト", new ImageIcon("./images/bird1.jpg"), true);
...
> p.add(check1);
ってしているところがあるけれど、上3行のcheck1はインスタンス変数のcheck1で、
そのあとの新しくnewしているcheck1はローカル変数なので別物になっている。
JPanelにaddして表示いるものはリスナを設定したり背景色を変えたものと異なるので挙動が思ったようにならない。
フィールドとローカルとで同じ名前の別の変数を定義できるので注意。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<380KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef