我做了一个简单的游戏,它是一个基于状态的游戏,意味着我有许多不同的状态(屏幕),如启动屏幕,菜单屏幕和实际游戏,我的菜单屏幕现在很无聊我希望它的一部分是一个没有任何控件的视频所以它看起来像是一个内置于游戏中的动画,我查看了JMF并发现你只需要以下代码就可以了(注意我已经删除了控件,在我发现的原始代码中,只剩下视频了):
EIDT:显示的代码带有解释错误消息的注释:
package javagame;
import java.awt.BorderLayout;
import java.awt.Component;
import java.net.URL;
import javax.swing.JFrame;
public class mediaPlayer extends JFrame
{
public mediaPlayer()
{
setLayout(new BorderLayout());
URL mediaURL = //Whatever
Player mediaPlayer = Manager.createRealizedPlayer(mediaURL);
//Player cannot be resolved as a variable
//mediaPlayer cannot be resolved as a variable
//Manager cannot be resolved
Component video = mediaPlayer.getVisualComponent();
//The method getVisualComponent() is undefined for thetype mediaplayer
add(video,BorderLayout.CENTER);
}
}
我创建了一个名为mediaPlayer的新类,并将上面的代码放入其中,它扩展了JFrame,但我在播放器,媒体播放器和管理器之类的内容中遇到错误,例如make方法,为此创建类,make变量为此,我认为这可以正常工作,因为它扩展了JFrame并且所有方法,类和变量都已经完成,我错了吗?
答案 0 :(得分:1)
..我错了吗?
是的,你是。自动包含在框架中的唯一方法是为其定义的方法。
您正在谈论的方法是JMF的一部分。这些类需要在代码顶部导入。类似的东西:
import javax.media.*;
答案 1 :(得分:0)
确保下载Java Media Framework。将jar添加到项目中名为lib的文件夹中。右键单击jar并将其添加到构建路径。然后你的导入应该有效。