"Java in easy Steps" adlı bu kitapla ilgili bazı Java temel bilgilerini öğrenmeye çalışıyorum, ancak bu bölümde, ItemListener, ItemEvent, itemStateChanged() öğelerini başkalarının yanı sıra kullandığımız "Öğe Öğesi olayları" adı verilen bu bölümde bulabilirsiniz. yanlış görünüyor. Yazmam, kontrol etmem ve çift kontrol etmemi istedikleri her şeyi yazdım, ancak kod çalışmak istemiyor.ItemListener kayıt olmuyor
(Onun metin kutusuna kayıt bazı tıklanabilir seçenekler içeren bir pencere olması gerekiyor)
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();
}
}
Hata nedir? – Pooya
Lütfen bize yardım etmemize yardımcı olun: 1) İlk ve en önemlisi, gönderdiğiniz kodda neyin yanlış olduğunu, nasıl çalışmadığını bize bildirin - Ayrıntılar ** do ** matter. 2) sadece okunması zor olan tüm sol-yaslanmış kod değil, sadece iyi biçimlendirilmiş kod göndermek için çaba lütfen. –
Tamam, sizin için kodunuzu biçimlendirdim, umarım okumayı kolaylaştırarak, bunu okumak ve anlamak için çaba göstermeye istekli olacak daha fazla uzman çekeriz, ancak yine de neden bize anlatmanız gerekir ve nasıl çalışmıyor? –