2016-01-20 69 views
-1

我制作了一个闹钟班,部分代码是挑选播放的音乐。我创建了一个按钮,点击后会打开一个对话框,选择音乐按钮。但是,我在这个班的超级班里遇到了麻烦,这是我的其他窗户没有给我的问题。忍受着我,我对此非常不满。 这里是音乐对话框类(告诉我,如果你需要我的其他类接听)如何让这个对话类工作?

import java.awt.*; 
import java.io.*; 
public class SetMusicDialog extends Dialog 
{ 
    public static String sng; 
    public SetMusicDialog() 
    { 
     super ("Set Music"); 
     Panel mpanel; 
     Font l = new Font("Helvetica", Font.ITALIC, 12); 
     setFont(l);//sets font 
     setBackground(Color.cyan); 

     Panel f = new Panel(); 
     f.add("West", new Button("Death Grips")); 
     f.add("East", new Button("Siren")); 
     add("South",f); 
     pack();       // make it just fit 
     resize(preferredSize()); 
     move(200,200); 
    } 

    public boolean handleEvent1 (Event evt) 
    { 
     switch (evt.id) 
     { 
      case Event.ACTION_EVENT: 
       if("Death Grips".equals(evt.arg)) 
       { 
        sng= "breakmirrors.wav"; 
       } 
       else if("Siren".equals(evt.arg)) 
       { 
        sng= "bip.wav"; 
       } 
     } 
    } 
} 

这是我不断收到错误:

Error: no suitable constructor found for Dialog(java.lang.String) 
constructor java.awt.Dialog.Dialog(java.awt.Frame) is not applicable 
    (argument mismatch; java.lang.String cannot be converted to java.awt.Frame) 
constructor java.awt.Dialog.Dialog(java.awt.Dialog) is not applicable 
    (argument mismatch; java.lang.String cannot be converted to java.awt.Dialog) 
constructor java.awt.Dialog.Dialog(java.awt.Window) is not applicable 
    (argument mismatch; java.lang.String cannot be converted to java.awt.Window) 
+0

首先你写超(“集乐”),但你的父类没有任何像这样的构造...... ,我建议你检查此[链接](http://stackoverflow.com/questions/508723 /最快方式创建一个java消息对话框摆动awt其他?rq = 1) – aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

+0

嗨,对不起。混淆了标题。现在编辑。 –

回答

0

在你的构造函数,你想用字符串参数调用super。由于您从Dialog类继承。正如你从链接的javadocs中看到的,Dialog没有只带一个字符串的构造函数 - 你必须先传递其他参数(另一个Dialog,Frame,Windownull)。

作为临时解决方法,您可以使用null作为第一个参数调用super - 这意味着您正在创建的对话框没有父窗口。

super((Dialog)null, "Set Music"); 
+0

说到这里我太厚了,对不起。我怎么做?对不起,我只是需要这些东西真的拼出来给我。我已经看过那个页面,我无法理解我需要放在那里。 –

+0

@CelesteJoyce看我的编辑。 –

+0

现在它给了我这个错误: 文件:C:\ Users \ 16tacheronc \ SetMusicDialog.java [line:10] 错误:引用对话框不明确 这两个构造函数Dialog(java.awt.Frame,java.lang.String )和java.awt.Dialog中的构造函数Dialog(java.awt.Dialog,java.lang.String)匹配 –