Javaのソースについて質問です・・・
Javaのソースについて質問です・・・
Javaで「JCheckbox」クラスを使い、選ばれたら、『「」が選ばれました。』とテキストが表示され、
チェックが解除されたら、『選ぶのをやめました。』と表示されるようにしたいのですが、
そのソースについて質問です。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class sample11 extends JApplet
{
private JLabel lb;
private JPanel pn;
private JCheckBox ch1,ch2,tmp;
public void init()
{
//コンポーネントの作成
lb=new JLabel("選んでください");
pn=new JPanel();
ch1=new JCheckBox("A");
ch2=new JCheckBox("B");
//コンテナへの追加
pn.add(ch1);
pn.add(ch2);
add(lb,BorderLayout.NORTH);
add(pn,BorderLayout.SOUTH);
//リスナの登録
ch1.addItemListener(new SampleItemListener());
ch2.addItemListener(new SampleItemListener());
}
//リスナクラス
class SampleItemListener implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
if(e.getStateChange()==ItemEvent.SELECTED){
tmp=(JCheckbox) e.getSource();
lb.setText(tmp.getText()+"を選びました。");
} else if(e.getStateChange()==ItemEvent.DESELECTED) {
tmp=(JCheckbox) e.getSource();
lb.setText(tmp.getText()+"をやめました。");
}
}
}
}
・なぜ、チェックボックスが表示されるわけでもないのにリスナクラス内で、
オブジェクトを作成しなければならないのか?
・(JCheckbox)とはJCheckboxのオブジェクトを作成するという記述を省略したものなのか?
・なぜ、「tmp」を介して「lb」にテキストをセットしなければならないのか?
上の三つの点が分りません。
説明お願いしますorz
.
お礼
ご回答ありがとうございます。 >変換元(ソース)と変換先(ターゲット)の型という程度の普通の英単語の意味そのままだと思う。 なるほど。 あまりこだわる部分ではなかったのですね。 ありがとうございます。 スッキリしました。