我有一些代码正在尝试重新编译和理解,但是我有一个无法编译的方法,我希望找到解决方法。方法如下。
private void launchEventPanel(String title) {
EventQueue.invokeLater(new Runnable(title) {
public void run() {
JFrame myFrame = new JFrame();
myFrame.setTitle("Conference Call");
myFrame.setIconImage(CallConference.this.myCore.myPanel.myIconManager.getPromptIcon(CallEMart.class.toString()));
myFrame.getContentPane().add(CallConference.this.myEventPanel, "Center");
myFrame.pack();
myFrame.setVisible(true); } }); }
EventQueue.invokeLater的第二行未编译,出现错误“匿名类实现接口,不能有参数”。
任何帮助和解决方法都受到高度赞赏。谢谢!
最佳答案
就像消息中说的那样:java.lang.Runnable是一个接口,因此您不能将title传递给它的构造函数。
采用:
EventQueue.invokeLater(new Runnable() {
代替。
请注意,标题未在任何地方使用。如果需要在Runnable中使用它,则需要将其声明为final:
private void launchEventPanel(final String title) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame myFrame = new JFrame();
myFrame.setTitle(title);
关于java - 匿名类实现接口(interface),不能有参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10033445/