3

我在 linux 和 windows 中使用 quaqua 外观。它工作正常,直到我遇到 JOptionPane 的问题。当代码使用该行打开 JOptionPane

JOptionPane.showInternalConfirmDialog(
    pos_main.category_layer, "Give Rewards Now!!", "Loyalty", 1);

我收到以下异常,

警告:ch.randelshofer.quaqua.osx.OSXApplication 类无法加载库“quaqua”。
java.lang.UnsatisfiedLinkError:java.library.path 中没有 quaqua
线程“AWT-EventQueue-0”中的异常 java.lang.IllegalArgumentException
    在 org.netbeans.lib.awtextra.AbsoluteLayout.addLayoutComponent(未知来源)
    在 java.awt.Container.addImpl(Container.java:1074)
    在 java.awt.Container.add(Container.java:927)
    在 javax.swing.JOptionPane.createInternalFrame(JOptionPane.java:1541)
    在 javax.swing.JOptionPane.showInternalOptionDialog(JOptionPane.java:1259)
    在 javax.swing.JOptionPane.showInternalConfirmDialog(JOptionPane.java:1194)
    在 javax.swing.JOptionPane.showInternalConfirmDialog(JOptionPane.java:1155)
    在 javax.swing.JOptionPane.showInternalConfirmDialog(JOptionPane.java:1118)
    在 operator.pos_main.formWindowOpened(pos_main.java:254)
    在 operator.pos_main.access$000(pos_main.java:38)
    在 operator.pos_main$1.windowOpened(pos_main.java:79)
    在 java.awt.AWTEventMulticaster.windowOpened(AWTEventMulticaster.java:322)
    在 java.awt.Window.processWindowEvent(Window.java:1859)
    在 javax.swing.JFrame.processWindowEvent(JFrame.java:279)
    在 java.awt.Window.processEvent(Window.java:1820)
    在 java.awt.Component.dispatchEventImpl(Component.java:4630)
    在 java.awt.Container.dispatchEventImpl(Container.java:2099)
    在 java.awt.Window.dispatchEventImpl(Window.java:2475)
    在 java.awt.Component.dispatchEvent(Component.java:4460)
    在 java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    在 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174)
    在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    在 java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

- 编辑 -

System.out.println(System.getProperty("java.library.path")); 显示以下输出。

C:\Program Files\Java\jdk1.6.0_15\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\DecisionStudio Professional\MySQL Server 5.0\bin;C:\Program Files (x86)\DecisionStudio Professional\R-Project\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\GmoteServer\bin\vlc

4

1 回答 1

2

看起来您需要检查集成到应用程序的步骤。

附录:在 Mac OS X 上,/System/Library/Java是几个系统属性的根,例如java.homejava.library.path。这是生活所需的资源JOptionPane不支持Linux 和 Windows 。

附录:在 Ubuntu 10.04 上,JOptionPane演示运行良好;您可以使用这种方法,它仅适用于开发目的。

$ java -jar dist/quaqua-test.jar
   创建 LAF ch.randelshofer.quaqua.leopard.Quaqua15LeopardCrossPlatformLookAndFeel
   LAF 创建   
   设置 LAF  
   拉夫套装   
QuaquaTest EDT 延迟=203
QuaquaTest laf 创建延迟=69
QuaquaTest 设置 laf 延迟=46
QuaquaTest 创建延迟=406
QuaquaTest 总启动延迟=819
警告:ch.randelshofer.quaqua.osx.OSXApplication 类无法加载库“quaqua”。java.lang.UnsatisfiedLinkError:java.library.path 中没有 quaqua
用户选择继续
于 2011-05-01T17:41:50.890 回答