有没有办法(使用Java)使您创建的GUI看起来像普通的Windows程序?我不喜欢Java按钮和滚动条的外观和感觉......它可以使用它们,如果它在Mac或Linux上运行,但我希望它继承Windows中的按钮和东西.有什么建议?
在编写我的Swing应用程序时,我总是遇到麻烦,我想我终于得到了一个明确的答案而不是玩它直到我开始工作......
我有一个JFrame.在这个JFrame里面是一个JButton.在ActionListener中,我想几乎清空JFrame,留下一个或两个组件(包括删除JButton).然后应用程序冻结,因为在ActionListener完成之前,您无法删除该组件.我该如何解决这个问题?
我的Java应用程序有一个插件系统.我使用URL类加载器调用外部类.当我的应用程序作为类文件运行时,以及当我的应用程序处于JAR形式时,该部分运行良好.我遇到的问题是,插件文件可以运行他们自己的独立代码,但是他们创建了一个JPanel.当我尝试将JPanel添加到主应用程序类中的JPanel时,我得到一个引用主类的空指针异常.(com.cpcookieman.app.Main)但是如果我运行应用程序的类文件,只有在打包时才会发生这种情况.我怎么解决这个问题?
为什么我的代码打包到jar文件中会阻止外部类访问jar中的类?
编辑:根据要求,堆栈跟踪.
java.lang.NullPointerException
at TestPlugin2.Main.<init>(Main.java:23)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.cpcookieman.ph.PluginLoader$2.run(PluginLoader.java:74)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
编辑2:类加载代码
String pluginsPath;
if (Main.os.equals("Windows"))
{
pluginsPath = "C:\\plugins\\";
}
else
{
pluginsPath = "~/plugins/";
}
File file = new File(pluginsPath);
if (!file.exists())
{
System.out.println("DEBUG: Plugin path could not be found!");
}
try
{
URL url = file.toURI().toURL();
final URL[] urls = new URL[]{url};
new Thread(new Runnable()
{
@Override
public void …Run Code Online (Sandbox Code Playgroud)