小编Gin*_*ino的帖子

编译错误将此指针传递给构造函数?

public class MyWindow extends JFrame {

    JButton botonCreate = new JButton("Open son windows");

    public void doSomething(){
        botonCreate.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JDialog vce = new JDialog(this);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

这个想法是在孩子可见时阻止JFrame父(JDialog).

JDialog的构造函数的参数必须是包含类"MyWindow",但是范围问题是ActionListener,这会产生以下错误.

我怎么解决这个问题?

错误信息:

没有为JDialog()构造函数找到合适的构造函数JDialog(java.awt.Frame)不适用(实际参数不能通过方法调用转换转换为java.awt.Frame)构造函数JDialog(java.awt.Dialog)不适用(实际参数不能通过方法调用转换转换为java.awt.Dialog)

java scope this jframe jdialog

2
推荐指数
2
解决办法
800
查看次数

标签 统计

java ×1

jdialog ×1

jframe ×1

scope ×1

this ×1