2016-01-20 96 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)匹配 –