本人用eclipse开发了一个swing desktop,在eclipse下调试运行,一切正常。然后我把源文件拷出来,直接在命令行用javac和java命令进行编译和运行,却出现奇怪的问题,具体是:1 原来的所有对话框(从JDialog派生),如果用了方法setPreferredSize,则都出问题,报错,java.lang.NoSuchMethodError:com.XXX.XXX.ui.ConfigDialgo.setPreferredSize(Ljava/awt/Dimension;)V......如果改为setSize就一切正常。2 我用了一个JTextPane,某些地方显示红色,某些地方显示黑色,并且该JTextPane定时从数据库刷 新得到要显示的内容,程序刚起来的时候很正常,该显示红色的地方是显示了红色,但是在刷新后,就全部都是黑色。而这些问题在eclipse下运行时,是没有出现的。为什么会这样呢?

解决方案 »

  1.   

    1可能配置的eclipse的jdk和cmd下的jdk version不同
    用java -version来看一下
      

  2.   

    查过了,是一样的。
    第一个问题还算是解决了,我就用setSize而不用setPreferredSize。
    但第二个问题还真是搞不懂为什么,还有一个情况,我把代码在另一个同事的机上的eclipse跑,JTextPane也不能正确地显示颜色,但是在另一些机上却正常~请知道的讲一讲,谢谢。
      

  3.   

    java.lang.NoSuchMethodError:com.XXX.XXX.ui.ConfigDialgo.setPreferredSize(Ljava/awt/Dimension;)
    这个包:com.XXX.XXX.ui多半是Eclipse里面的。J2SE的标准包里没有这些类!Eclipse有个界面解决方案,叫SWT还是什么来着,与AWT/Swing不同,SWT可移植性不及Swing!!好像是这样的!!!
      

  4.   

    不是的,com.XXX.XXX.ui.ConfigDialgo是我自己写的一个类,我没有使用SWT,纯粹是用swing而已。