Java 类型JOptionPane中的方法showMessageDialog(组件,对象)不适用于参数(new ActionListener(){},String)

Java 类型JOptionPane中的方法showMessageDialog(组件,对象)不适用于参数(new ActionListener(){},String),java,swing,awt,joptionpane,showmodaldialog,Java,Swing,Awt,Joptionpane,Showmodaldialog,“this”指的是ActionListener 您希望框架成为选项窗格的父级: JOptionPane.showMessageDialog(this, tf.getText()); “this”指的是ActionListener 您希望框架成为选项窗格的父级: JOptionPane.showMessageDialog(this, tf.getText()); 所以问题在于 JOptionPane.showMessageDialog(fm, tf.getText()); this,在此上下

“this”指的是ActionListener

您希望框架成为选项窗格的父级:

JOptionPane.showMessageDialog(this, tf.getText());
“this”指的是ActionListener

您希望框架成为选项窗格的父级:

JOptionPane.showMessageDialog(this, tf.getText());

所以问题在于

JOptionPane.showMessageDialog(fm, tf.getText());
this
,在此上下文中,指的是
ActionListener
的匿名实例,而不是父类


一个简单的解决方案可能是使用
JOptionPane.showMessageDialog(tf,tf.getText())

所以问题在于

JOptionPane.showMessageDialog(fm, tf.getText());
this
,在此上下文中,指的是
ActionListener
的匿名实例,而不是父类


一个简单的解决方案可能是使用
JOptionPane.showMessageDialog(tf,tf.getText())

仍然保持不变error@AdilKhan,对我来说很好。阅读API。您需要指定一个组件作为父级。框架是一个组件。也许您正在使用一个旧的编译器,您需要使框架成为最终的。关键点是选项窗格位于指定组件的中心。使用相框可能是有意义的?还是一样的error@AdilKhan,对我来说很好。阅读API。您需要指定一个组件作为父级。框架是一个组件。也许您正在使用一个旧的编译器,您需要使框架成为最终的。关键点是选项窗格位于指定组件的中心。使用框架可能是有意义的?谢谢:*你是爱的朋友,请帮助我学习java谢谢:*你是爱的朋友,请帮助我学习java