*.dll是Window的东西.
Linux下是*.so.

解决方案 »

  1.   

    SWT的不像原来的Swing是完全自己产生窗口,而是首先调用操作系统自己的窗口类,这就需要操作系统有对SWT的支持,目的是让JAVA的GUI更快,但也丧失了一定的跨平台性。要想能运行SWT,先找支持linux的swt库。
      

  2.   

    呵呵,
    SWT支持的操作系统基本上和SWING一样。
    各个系统都有相应的联接库,
    如windows为dll,Linux为*.so....
      

  3.   

    先感谢大家给我的答复。
    好像上次说的不明确,在这里补充一下。我的程序是在Eclipse for Linux(9) 中运行通过,在Shell中运行时出错,但是我已指定了so文件路径。我指定的so文件目录中有libswt-gtk-3106.so,libswt-atk-gtk-3106.so,libswt-awt-gtk-3106.so,libswt-gnome-gtk-3106.so,libswt-kde-gtk-3106.so,libswt-mozilla-gtk-3106.so,libswt-pi-gtk-3106.so.
    还有一个疑问是,Windows下只有两个动态链接库,但是在Linux下怎么又这么多的动态链接库文件?