这是我的代码,有三个类,当在当前类用main方法运行正常,新建一个view类用main方法运行这两个播放flash的类,upFlash类的视频不会往下一个播放了,请高手找一下原因..谢谢
UpFlash 类
public class UpFlash extends JPanel implements Runnable {
private static final long serialVersionUID = 1L;
int i = 0;
public UpFlash() {
super(new BorderLayout());
UIUtils.setPreferredLookAndFeel();
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(videoFlash(), BorderLayout.CENTER);
frame.setUndecorated(true);
frame.setSize(1360, 768);
Point p = new Point(0, 0);
frame.setLocation(p);
frame.setVisible(true);
}
});
}
private Component videoFlash() {
JPanel flashPlayerPanel = new JPanel(new BorderLayout());
final JFlashPlayer flashPlayer = new JFlashPlayer();
flashPlayer.load(new File("VideoLoop(2).swf").getAbsolutePath());
flashPlayerPanel.add(flashPlayer, BorderLayout.CENTER);
add(flashPlayerPanel, BorderLayout.CENTER);
flashPlayer.addFlashPlayerListener(new FlashPlayerListener() {
public void commandReceived(FlashPlayerCommandEvent e) {
File[] file = new File("resourse/video").listFiles();
if("start".equals(e.getCommand())) {
flashPlayer.invokeFlashFunction("playVideoByPath", file[0]);
}
if("complete".equals(e.getCommand())){
if(i < file.length - 1){
i++;
}else{
i = 0;
}
flashPlayer.invokeFlashFunction("playVideoByPath", file[i]);
}
}
});
return flashPlayerPanel;
}
public void run() {
}
}
DownFlash类
public class DownFlash extends JPanel implements Runnable{
private static final long serialVersionUID = 1L;
public DownFlash() {
super(new BorderLayout());
UIUtils.setPreferredLookAndFeel();
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(picFlash(), BorderLayout.CENTER);
frame.setSize(1360, 768);
Point p = new Point(0, 0);
frame.setLocation(p);
frame.setUndecorated(true);
frame.setVisible(true);
}
}
);
}
private Component picFlash() {
JPanel flashPlayerPanel = new JPanel(new BorderLayout());
final JFlashPlayer flashPlayer = new JFlashPlayer();
flashPlayer.load(new File("loadPic.swf").getAbsolutePath());
flashPlayerPanel.add(flashPlayer, BorderLayout.CENTER);
add(flashPlayerPanel, BorderLayout.CENTER);
flashPlayer.addFlashPlayerListener(new FlashPlayerListener() {
public void commandReceived(FlashPlayerCommandEvent e) {
if(e.getCommand().equals("start")){
File[] file = new File("resourse/image").listFiles();
for(int i = 0; i < file.length; i ++){
try {
flashPlayer.invokeFlashFunction("loadCurrentPic", file[i]);
Thread.sleep(3000);
if(i == file.length-1){
i = -1;
}
} catch (Exception e1) {
System.out.println("循环出错");
}
}
}
}
});
return flashPlayerPanel;
}
public void run() {
}
}
view类
public class View extends JFrame implements Runnable{
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
UpFlash up = new UpFlash();
DownFlash down = new DownFlash();
new Thread(down).start();
new Thread(up).start();
}
public void run() {
}
}