Java 如何在此程序中调用此小程序?

Java 如何在此程序中调用此小程序?,java,swing,applet,joptionpane,javasound,Java,Swing,Applet,Joptionpane,Javasound,我正在使用JOptionPane制作一个菜单,分别调用和执行程序(小程序和菜单不是必需的,我只是为了让它更好)。我试图调用init()方法,但它说“非静态方法init()不能从静态语句引用。”小程序用于播放歌曲 代码: 第一个节目: * 第二个节目: import java.applet.*; import java.net.*; public class MexicoAnthem extends Applet { Button button; public voi

我正在使用
JOptionPane
制作一个菜单,分别调用和执行程序(小程序和菜单不是必需的,我只是为了让它更好)。我试图调用
init()
方法,但它说“非静态方法init()不能从静态语句引用。”小程序用于播放歌曲

代码:

第一个节目: *

第二个节目:

import java.applet.*;
import java.net.*;

public class MexicoAnthem extends Applet
  { 
    Button button;

      public void Init()
      {
              BorderLayout layout = new BorderLayout();
              setLayout(layout);
              Font font = new Font("TimesRoman", Font.BOLD, 32);
              setFont(font);
              button = new Button("Play Sound");
              add("Center", button);
              resize(250, 250);
      }

      public boolean action(Event evt, Object arg)
      {
              if (evt.target instanceof Button)
              {
                    URL codeBase = getCodeBase();
                    play(codeBase, "MexicanNationalAnthem.wav");
               }
      return true;
      }
}

您试图在类上调用实例方法--不要这样做,而是在实例上调用它--从该类创建一个对象,然后调用该方法

e、 g

这不是:

MyClass.someMethod();
而是

MyClass myInstance = new MyClass();
myInstance.someMethod();

不管怎样,这不是小程序的使用方式。相反,它们应该用于HTML页面或小程序加载程序中。而是创建JFrame或JDialog并显示它

如何在此程序中调用此小程序

好吧,别那么做

它所做的只是包含一个播放剪辑的按钮

可以播放
剪辑
,如中所示

使用按钮的
JButton
,然后添加
ActionListener
,如中所示


作为旁白。基于
Applet
的代码太旧了,以至于使用了很久以前就不推荐的方法:

I:\projects\numbered\all\AllClasses\src\MexicoAnthem.java:30: warning: 
  [deprecation] action(Event,Object) in Component has been deprecated
      public boolean action(Event evt, Object arg)
Java文档接着提到:

从JDK1.1版开始,应该在触发动作事件的组件上将此组件注册为
ActionListener


不要基于它编写代码。

“在此程序中调用此小程序”。。。。你真的认为人们会从你的头衔中得到任何有意义的东西吗?你的头衔是什么意思?请给出一个有意义的标题,对您的问题进行有意义的总结,例如如何在Swing应用程序中嵌入小程序;或“非静态方法不能从静态语句引用”的含义,etcsorry。你知道这个问题的答案吗?已经有一个非常合理的答案了。我该如何使用jframe呢
I:\projects\numbered\all\AllClasses\src\MexicoAnthem.java:30: warning: 
  [deprecation] action(Event,Object) in Component has been deprecated
      public boolean action(Event evt, Object arg)