如何在MouseListener中将一个帧移动到另一个帧

时间:2013-08-14 15:13:12

标签: java swing jframe multiple-instances mouselistener

我想dispose()我当前的jFrame并转到下一个jFrame(StudentProfilepage())。但它在this.dispose()显示错误。

我该怎么做。我使用MouseListner一个jLabel l1

我的代码如下

 l1.setCursor(Cursor.getDefaultCursor());

        l1.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseReleased(MouseEvent e) {

            //added check for MouseEvent.BUTTON1 which is left click
            if (e.isPopupTrigger() || e.getButton() == MouseEvent.BUTTON1) {

                this.dispose();   //error here(i want to close my current frame and move to StudentProfile() page 

                new StudentProfilePage().setVisible(true);
            }
        }
    });

2 个答案:

答案 0 :(得分:3)

中的

this

this.dispose();

指的是MouseAdapter,因此是您看到的编译错误。

您需要在JFrame

上调用dispose
JFrameClassName.this.dispose();

另请考虑使用JDialog而不是JFrame作为第二个窗口。阅读The Use of Multiple JFrames, Good/Bad Practice?

答案 1 :(得分:3)

你应该写

YourClassName.this.dispose();

指向您的jframe