1

我想要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);
            }
        }
    });
4

2 回答 2

3

this

this.dispose();

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

您需要调用 dispose 在JFrame

JFrameClassName.this.dispose();

还可以考虑使用 aJDialog而不是 aJFrame作为第二个窗口。阅读多个 JFrame 的使用,好/坏做法?

于 2013-08-14T15:19:24.440 回答
3

你应该写

YourClassName.this.dispose();

这指向你的jframe.

于 2013-08-14T15:21:04.703 回答