जब मैं JCheckBox
का चयन करता हूं, तो यह स्वतः ही अचयनित हो जाता है...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Math extends JFrame
{
private JPanel panel2 = new JPanel();
private JCheckBox cb = new JCheckBox("Record Answers");
//Constructor
public Math()
{
setSize(300,300);
setTitle("Math");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
panel2.add(cb);
//add ActionListners
cb.addItemListener(new listenerCb());
add(panel2, BorderLayout.SOUTH);
setVisible(true);
}
//itemListner for cb
public class listenerCb implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
if(cb.isSelected())
{
JOptionPane.showMessageDialog(null,"Example");
}
}
}
public static void main(String[] args)
{
new Math();
}
}
जब भी मैं cb
का चयन करने का प्रयास करता हूं, तो यह JOPtionPane
पॉप अप हो जाता है और अचयनित हो जाता है। अगर मैं JOptionPane
को हटा दूं, तो यह ठीक काम करता है।
1 उत्तर
मुझे लगता है कि समस्या यह है कि विकल्प फलक कुछ घटनाओं को प्राप्त कर रहा है क्योंकि अब इसमें फोकस है।
एक समाधान कोड को SwingUtilities.invokeLater(...)
में जॉप्शनपेन प्रदर्शित करने के लिए लपेटना है।
यह विकल्प फलक प्रदर्शित होने से पहले चेक मार्क को उसकी नई स्थिति में फिर से रंगने की अनुमति देगा।
public class listenerCb implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
if(cb.isSelected())
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
JOptionPane.showMessageDialog(null,"Example");
}
});
}
}
}
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।