0

I working on a project .In panel class i have defined a mouselistener to call second iframe in desktop pane but its not showing up?

Please Help Thanks

Main Class

    public class Try2 extends JFrame{

JTabbedPane pane;
public Try2() {

    setSize(800,500);
    setDefaultCloseOperation(Try2.EXIT_ON_CLOSE);
    setVisible(true);


    pane=new JTabbedPane();
    pane.addTab("First", new desktoppane());
    pane.addTab("Second", new JPanel());


    setContentPane(pane);

}
public static void main(String[] args) {
    new Try2();
}

DesktopPane Class

    public class desktoppane extends JDesktopPane{

public desktoppane() {
   // setOpaque(false);
    JButton btnfirst=new JButton("First IFrame");
    btnfirst.setSize(150,25);
    add(btnfirst);
    btnfirst.addMouseListener(new MouseListener() {

        @Override
        public void mouseClicked(MouseEvent e) {

         first f=new first();
         add(f);
        }

        @Override
        public void mousePressed(MouseEvent e) {
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
        }
    });

}

}

First IFrame

    public class first extends JInternalFrame{

public first() {
    setSize(400, 400);
    setVisible(true);
    setClosable(true);

    add(new paneel());

}

}

Panel Class

    public class paneel extends JPanel{

public paneel() {
    setBackground(Color.red);
    setSize(200,200);
    JButton btnSecond=new JButton("Second IFrame");
    btnSecond.setSize(150,25);
    add(btnSecond);

    btnSecond.addMouseListener(new MouseListener() {

        @Override
        public void mouseClicked(MouseEvent e) {
          Second s=new Second();
          desktoppane p=new desktoppane();

          p.add(s);


        }

        @Override
        public void mousePressed(MouseEvent e) {
         }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
        }
    });




}

}

Second IFrame

    public class Second extends JInternalFrame{

public Second() {
    setSize(400, 400);
    setVisible(true);
    setClosable(true);

    setBackground(Color.yellow);
}

}

1 Answers1

2

You are creating a new desktop pane in your panel class, but you are not adding it to anything. It should probably be added to your JFrame. Or maybe you want to be adding your IFrame to your existing desktop pane, not a new one.

lerobyte
  • 70
  • 2