如何让这个对话框 class 工作?
How do I get this dialog class to work?
我做了一个闹钟class,部分代码是选择播放的音乐。我创建了一个按钮,单击该按钮会打开一个对话框以选择音乐按钮。但是,我在这个 class 中遇到了超级问题,这是我的另一个 windows 没有给我的问题。忍受我,我对这一切都很糟糕。
这是音乐对话框 class(如果您需要我的其他 class 回答,请告诉我)
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)
在您的构造函数中,您尝试使用字符串参数调用 super
。由于您继承自 Dialog
class。正如您从链接的 javadoc 中看到的那样,Dialog
没有只接受字符串的构造函数 - 您必须先传递其他参数(另一个 Dialog
、Frame
、Window
,或 null
)。
作为临时解决方法,您可以使用 null 作为第一个参数来调用 super
- 这意味着您正在创建的对话框没有父级 window。
super((Dialog)null, "Set Music");
我做了一个闹钟class,部分代码是选择播放的音乐。我创建了一个按钮,单击该按钮会打开一个对话框以选择音乐按钮。但是,我在这个 class 中遇到了超级问题,这是我的另一个 windows 没有给我的问题。忍受我,我对这一切都很糟糕。 这是音乐对话框 class(如果您需要我的其他 class 回答,请告诉我)
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)
在您的构造函数中,您尝试使用字符串参数调用 super
。由于您继承自 Dialog
class。正如您从链接的 javadoc 中看到的那样,Dialog
没有只接受字符串的构造函数 - 您必须先传递其他参数(另一个 Dialog
、Frame
、Window
,或 null
)。
作为临时解决方法,您可以使用 null 作为第一个参数来调用 super
- 这意味着您正在创建的对话框没有父级 window。
super((Dialog)null, "Set Music");