在java桌面应用开发中,主窗体中嵌入了flash控件,在播放的时候我可以进行1倍、2倍或全屏窗体(为子窗体)的播放,主窗体用Frame,子窗体用Dialog,在进行1倍、2倍或全屏窗体的播放时候,对当前播放子窗体撤销后返回到主窗体,在这些过程中已基本实现,现在的问题是我撤销子窗体后返回到主窗体时,主窗体中的flash要紧接着子窗体的断点播放,如何能做到呢?

解决方案 »

  1.   

    如果是你的这种方案,那个flash控件是否有控制的接口呢?例如获取播放的帧信息,指定播放开始帧什么的。就简单的来将,我觉得没必要全屏的时候特意画个子窗口,重画当前窗口放至最大不行么?
      

  2.   

    still_rain,说的我有点不明白,请讲详细一点好吗,如果有代码实例就更好了!
      

  3.   

    撤销dialog之前把flash的控件整个挖出来,把主窗口的那个移除,换成这个,我过我是用一个jpanel(上面做了个小动画,移到主窗口后可以继续)做的,楼主可以试试,下面是我测试用的import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;import com.oppo.ballute.DrawingPanel;public class Test extends JFrame{
    private JButton b;
    public Test(){
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500,500);
    getContentPane().setLayout(new BorderLayout());
    b=new JButton("New");
    b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
    new AD(Test.this).setVisible(true);
    }

    });
                    getContentPane().add(b,BorderLayout.SOUTH);
    }
    class AD extends JDialog{
    private DrawingPanel panel;//drawingpanel是我自己写的个有动画的panel
    public AD(final Test t){
    setSize(300,300);
    panel=new DrawingPanel();
    getContentPane().add(panel);
    this.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e) {
    if(t!=null){
    t.getContentPane().add(panel,BorderLayout.CENTER);
    t.validate();
    }
    }
    });
    }
    }
    public static void main(String[] args){
    new Test().setVisible(true);
    }
    }
      

  4.   

    用CardLayout
    主窗口分二个CARD,一个是控制子窗口的,另一个是与子窗口同步播放的.
    一般只激活控制CARD,开始播放时二个一起播放,只不过一个可见一个不可见.
    子窗口关闭时,激活主窗口的播放CARD.
    既然二个是同步播放,那我想看上去应该和你要的效果差不多吧.试试吧.