This question already has an answer here:
can you tell me in details how do i know if a jcheckbox is checked or not? method isSelected didn't work with me it gives me an exception while running
{
Sandwich = new JButton("Tall");
contentPane.add(Tall);
Sandwitch.setBounds(350, 110, 90,40); //in main
Sandwitch.addActionListener(this);
}
.....
public void actionPerformed(ActionEvent event) {
JButton clickedButton = (JButton) event.getSource();
String buttonText = clickedButton.getText();
..........
if(clickedButton.getText()=="Sandwitch"){
if(Ketchup.getState()&&!Garlic.getState()){//
itm=new Item(""+m+clickedButton.getText(),3.0);
xyz.addItem(itm);
textArea.append(" "+clickedButton.getText()+",");
textArea.append(" "+itm.getPrice()+"\n");
}
else if(!Ketchup.isSelected()&&Garlic.isSelected()){//
....................
}
it gives this very long exception while running: Here
can you please help me with this problem?
Here is the problem:
Because of the "JCheckBox" in front of the assignments, this code is declaring local variables called Ketchup and Garlic. Outside the method, those variables don't exist any more.
Meanwhile, the private fields of ClassName (ProjectInterface?) have the same names but are otherwise unrelated. They are left null.
Move the above code into the ClassName constructor, and remove the "JCheckBox" in front of the assignments. So you'll have: