Click on JLabel to open a new frame.

I'm developing graphics for a game I'm programming, I wanted to know if there is an easy way to open a frame when JLabel clicks?

Is there any simple code for this?

enter image description here

+8
java swing frame jlabel mouselistener
source share
5 answers

MouseListener interface and use its mouseClicked to handle clicks on JLabel.

 label.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { // you can open a new frame here as // i have assumed you have declared "frame" as instance variable frame = new JFrame("new frame"); frame.setVisible(true); } }); 
+18
source share

You can do it like this:

 label.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { JPanel j = new JPanel(); frame.setContentPane(j); } }); 
+1
source share

create a shortcut and add a click event to it.

Something like that:

 JLabel click=new JLabel("Click me"); click.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { JFrame jf=new JFrame("new one"); jf.setBackground(Color.BLACK); jf.setSize(new Dimension(200,70)); jf.setVisible(true); jf.setDefaultCloseOperation(EXIT_ON_CLOSE); } }); 
+1
source share
  • never create a new JFrame , never bind JFrames, you have to calculate it with OutOfMemoryException , because this Object will never be GC'ed,

  • for several species to use CardLayout

  • see answer Using multiple JFrames, Good / Bad Practice? @Andrew Thompson

+1
source share
 1:- Implement your class containing the JLabel with MouseListener interface 2:- add MouseListener to your JLabel 3:-Override mouseClicked Event in your class 4:- In mouseClicked Even't body add your code to open a new JFrame/Frame . 
-one
source share

All Articles