I have a frame with a JMenuBar
. When I press one of the JMenuItems
I want to add a JLabel
to the frame, and it doesn't work. I don't get it ... it's in the same class.
public class GuiMain {
private JLabel logo_headsup;
JFrame frame1 = new JFrame();
JMenuBar menubar;
// other stuff
public GuiMain() {
frame1.setLayout(null);
logo_headsup = new JLabel(new ImageIcon(getClass().getResource(
"logo_headsup.png")));
logo_headsup.setBounds(headImage.getWidth() + 2, 120, 271, 46);
menubar = new JMenuBar();
menubar.setOpaque(false);
menubar.setBorderPainted(false);
menubar.setBounds(0, 0, 750, 30);
JMenu view = new JMenu("View");
view.setMnemonic('V');
view.setFont(new Font("Verdana", Font.BOLD, 10));
Color myColor = new Color(192, 0, 0);
view.setForeground(myColor);
JMenuItem hu = new JMenuItem("Heads-up");
JMenuItem sh = new JMenuItem("Short-handed");
JMenuItem fr = new JMenuItem("Full-ring");
hu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("You pressed headsup"); // testing & it works
frame1.remove(logo_fullring);
frame1.remove(logo_shorthanded);
frame1.add(logo_headsup).repaint(); // now it`s working
}
});
view.add(hu);
view.add(sh);
view.add(fr);
menubar.add(view);
}
}