怎样在swing的桌面程序中嵌入flash或flex
想让界面更炫一些

解决方案 »

  1.   

    有个叫DJNativeSwing的插件可以解决这个问题
    插flash的方法public class FlashTest {    JFrame jf;    JFlashPlayer fp;     public FlashTest()    {       jf = new JFrame("Java Flash");       fp = new JFlashPlayer();       //使用load方法加载 swf 文件       fp.load(getClass(), "test.swf");       jf.setSize(800,600);        jf.add(fp, BorderLayout.CENTER);       jf.setLocationRelativeTo(null);       jf.setVisible(true);       jf.validate();    }        public static void main(String[] args)    {       //在使用控件之前需初始化接口       UIUtils.setPreferredLookAndFeel();       NativeInterface.open();       java.awt.EventQueue.invokeLater(new Runnable() {           public void run() {              new FlashTest();           }       });       NativeInterface.runEventPump();    }}
    参考http://djproject.sourceforge.net/
      

  2.   

    那如何实现监听?比如我要用flash做一个类似导航栏似的东西
    要对上面的flash里的button进行监听
    这个怎么实现?是用java代码实现还是在flash里实现?
      

  3.   

    这个肯定要在FLASH里实现,学习AS吧
      

  4.   

    fp.load(getClass(), "test.swf");中的"load.swf"应放在哪个目录下?如果我有一个名叫flash的folder,把test.swf放到这个folder里,这句话怎么改?
    我运行程序报这个错误
    Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/SWT
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.initialize(NativeInterface.java:148)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:182)
    at test.FlashTest.main(FlashTest.java:52)
    Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.SWT
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 3 more我引了两个包  一个是DJNativeSwing-SWT.jar一个是DJNativeSwing.jar多谢解答!
      

  5.   

    我的为什么加载了不显示,也不报错,是路径不对吗?swf文件在src目录下应该怎么写