在Ubuntu 12.04(GTK)下改进JFileChooser

sMa*_*Mau 5 java ubuntu swing jfilechooser filedialog

JFileChooser在Ubuntu 12.04下有问题.我使用此代码来设置外观: javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());

它看起来像这样.使用起来非常不舒服,看起来非常难看:

http://www9.picfront.org/token/9sRH/2012/05/15/2062476.jpg

我希望它看起来像这样:

http://www4.picfront.org/token/1lpa/2012/05/15/2062477.jpg

使用这篇文章中的提示,我尝试使用FileDialog而不是FileChooser.但是FileDialog当我在LOAD模式下启动并点击"打开"按钮时会引发异常.我创建对话框的方式:

FileDialog fd = new FileDialog(frame, "Test", FileDialog.LOAD);
fd.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

例外情况:

Exception in thread "Thread-0" java.lang.NullPointerException
at sun.awt.X11.GtkFileDialogPeer.setFileInternal(GtkFileDialogPeer.java:79)
at sun.awt.X11.GtkFileDialogPeer.run(Native Method)
at sun.awt.X11.GtkFileDialogPeer.showNativeDialog(GtkFileDialogPeer.java:172)
at sun.awt.X11.GtkFileDialogPeer.access$000(GtkFileDialogPeer.java:39)
at sun.awt.X11.GtkFileDialogPeer$1.run(GtkFileDialogPeer.java:114)
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu Linux 12.04下使用Oracle JDK7和Gnome 3(如果这有帮助的话).

有没有人知道我怎么能改善外观JFileChooser或者FileDialog工作?

Omn*_*Owl 0

NullPointerException 通常意味着您指向不存在的东西。我想您尝试指向的引用在运行时丢失了。