この本の「Javaでの簡単なステップ」では、ItemListener、ItemEvent、itemStateChanged()などを使用するこのセクションでは「Handling Item events」と呼ばれるこのセクションでは、間違っているようです。私は彼らが書いた、チェックされた、ダブルチェックされたすべてを書いたが、コードは動作したくない。ItemListenerが登録されていない
(そのテキストボックスに登録し、いくつかのクリック可能なオプションを持つウィンドウことになっている)
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class States extends JFrame implements ItemListener {
JPanel pnl = new JPanel();
String[] styles = { "Deep Dish", "Gourmet Style", "Thin and Crispy" };
JComboBox<String> box = new JComboBox<String>(styles);
JRadioButton rad1 = new JRadioButton("White");
JRadioButton rad2 = new JRadioButton("Red");
ButtonGroup wines = new ButtonGroup();
JCheckBox chk = new JCheckBox("Pepperoni");
JTextArea txtArea = new JTextArea(5, 38);
public States() {
super("Swing Window");
setSize(500, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(pnl);
setVisible(true);
wines.add(rad1);
wines.add(rad2);
pnl.add(rad1);
pnl.add(rad2);
pnl.add(txtArea);
pnl.add(box);
pnl.add(chk);
rad1.addItemListener(this);
rad2.addItemListener(this);
chk.addItemListener(this);
box.addItemListener(this);
}
public void itemStateChanged(ItemEvent event) {
if (event.getItemSelectable() == rad1) {
txtArea.setText("White wine selected");
}
if (event.getItemSelectable() == rad2) {
txtArea.setText("Red wine selected");
}
if ((event.getItemSelectable() == chk) && (event.getStateChange() == ItemEvent.SELECTED)) {
txtArea.append("\nPepperoni selected\n");
}
if ((event.getItemSelectable() == box) && (event.getStateChange() == ItemEvent.SELECTED)) {
txtArea.append(event.getItem().toString() + "selected");
}
}
public static void main(String[] args) {
States gui = new States();
}
}
エラーは何ですか? – Pooya
私たちのお手伝いをしてください:1)何よりもまず、あなたが投稿したコードの何が間違っているのか、それがどういうわけではないのかを教えてください。 2)読みにくい左揃えのコードではなく、正しい形式のコードを投稿するよう努力してください。 –
OK、私はあなたのためにあなたのコードを書いていますので、読みやすくすることでうまくいけば、読んで理解する意欲がある多くの専門家を引き付けるでしょうが、どのように動作していないのかについて説明します。 –