Java 为什么我会得到一个“;找不到适用于“匿名”的方法;错误?
标记行中的错误表示Java 为什么我会得到一个“;找不到适用于“匿名”的方法;错误?,java,anonymous-types,inner-classes,anonymous,Java,Anonymous Types,Inner Classes,Anonymous,标记行中的错误表示“找不到适合匿名(,java.lang.String)的方法”” 为什么在我直接编写了javax.swing.\u CLASS\u?时会出现这种情况?问题是这一行中的指的是您创建的匿名Runnable实例,而不是围绕它的类。你需要更明确地说明你在这里的意思 如果封闭类名为Foo,并且是swing组件,则应编写: Runnable r = new Runnable() { @Override public void run() { if(varx)
“找不到适合匿名(,java.lang.String)的方法”
”
为什么在我直接编写了
javax.swing.\u CLASS\u
?时会出现这种情况?问题是这一行中的指的是您创建的匿名Runnable
实例,而不是围绕它的类。你需要更明确地说明你在这里的意思
如果封闭类名为Foo
,并且是swing组件
,则应编写:
Runnable r = new Runnable() {
@Override
public void run() {
if(varx) {
new displayFullScreen().setVisible(true);
} else {
javax.swing.JOptionPane.showMessageDialog(this, "dfv"); // this statement gives an error
}
}
};
new Thread(r,"full_screen_display").start();
有关更多信息,请参阅文档。问题在于,该行中的此
指的是您创建的匿名可运行的
实例,而不是围绕它的类。你需要更明确地说明你在这里的意思
如果封闭类名为Foo
,并且是swing组件
,则应编写:
Runnable r = new Runnable() {
@Override
public void run() {
if(varx) {
new displayFullScreen().setVisible(true);
} else {
javax.swing.JOptionPane.showMessageDialog(this, "dfv"); // this statement gives an error
}
}
};
new Thread(r,"full_screen_display").start();
有关详细信息,请参阅文档。原因是javax.swing.JOptionPane.showMessageDialog
需要一个组件作为第一个参数,但您要传入这个,它是一个可运行的(匿名)
parentComponent-确定对话框所在的框架
显示;如果为null,或者parentComponent没有帧,则默认为
使用框架
javax.swing.JOptionPane.showMessageDialog(这个“dfv”)代码>将不起作用,因为此
是一个可运行的
,它不继承自组件
。
改用这个:
javax.swing.JOptionPane.showMessageDialog(Foo.this, "dfv");
JOptionPane.showMessageDialog
显示:
parentComponent-确定对话框所在的框架
显示;如果为null,或者parentComponent没有帧,则默认为
使用框架
javax.swing.JOptionPane.showMessageDialog(这个“dfv”)代码>将不起作用,因为此
是一个可运行的
,它不继承自组件
。
改用这个:
javax.swing.JOptionPane.showMessageDialog(Foo.this, "dfv");