Why is it that when the GUI I can press A, B and C, but if I press A and then C (GUI) does not change and vice versa, but if I press B it will work for everyone? I do not understand? Please, if anyone notices any errors or something, let me know. And ps I'm a newbie, so if you can explain in non-specialized terms. Thanks you
package Experimental;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class EventListener2 extends JFrame implements ActionListener{
JButton a,b,c;
JLabel aa,bb,cc;
JPanel top, bottom;
EventListener2(){
super("Event Listener 2");
setSize(300,300);
setLayout(new FlowLayout());
a=new JButton("A");
aa = new JLabel("Button \"A\" was pressed");
b=new JButton("B");
bb = new JLabel("Button \"B\" was pressed");
c=new JButton("C");
cc = new JLabel("Button \"C\" was pressed");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.addActionListener(this);
b.addActionListener(this);
c.addActionListener(this);
top=new JPanel();
top.setLayout(new FlowLayout());
top.add(a);
top.add(b);
top.add(c);
bottom=new JPanel();
this.add(top);
this.add(bottom);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
bottom.removeAll();
if (source==a){
bottom.add(aa);
System.out.println("a was pressed");
}
else if (source==b){
bottom.add(bb);
System.out.println("b was pressed");
}
else{
bottom.add(cc);
System.out.println("c was pressed");
}
this.setVisible(true);
}
public static void main(String[] args) {
EventListener2 a = new EventListener2();
}
}
source
share