我可以更改Java Webstart程序的LookAndFeel吗?

时间:2016-06-16 21:13:06

标签: java html user-interface

<(>(我是一名工业建筑工程师(最近毕业),在我最近开始工作的地方,我们使用由外部公司开发的Java程序来计算工业建筑的价格,包括一切。))

我的桌面上有一个html链接,它启动了一个Java Applet / Web Start(?),我必须单击Run,然后弹出一个新的(本机窗口)窗口,其中会运行该程序。< / p>

一切都看起来超级老旧,丑陋的皮肤,糟糕的字体,我讨厌它。在旧手册(2013)中,程序(在屏幕截图上)具有本机窗口外观。 但是,最新版本看起来是SHIT。

问题:我是否必须联系外部公司代码的编写者,将外观改为原生操作系统?

或者我有什么方法可以破解代码并强制参数或什么?

我在Java方面有点像诺布,但我快速学习,拍摄。

2 个答案:

答案 0 :(得分:1)

您可以尝试设置灵气的外观。 nimbus至少需要JDK 6。有更多方法可以做到:https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/nimbus.html

正如您在此链接中看到的,您可以在java程序中以编程方式执行此操作。

但是还有其他两种方法可以通过配置来实现:

1

  

通过添加,永久性地为Nimbus设置默认外观   以下一行到JAVA_HOME / lib / swing.properties文件:

     

swing.defaultlaf = javax.swing.plaf.nimbus.NimbusLookAndFeel   如果swing.properties文件尚不存在,则需要创建它。

2

  

将Nimbus指定为特定的默认外观   应用程序在命令行中,如下所示:   java -Dswing.defaultlaf = javax.swing.plaf.nimbus.NimbusLookAndFeel MyApp

在第二种情况下,java命令行(在JWS的情况下)来自.jnlp xml描述符,它是部署的JWS应用程序jar文件的一部分。

.jnlp中有一个资源部分,如下所示:

  <resources>
    <j2se version="1.7+" java-vm-args="-esa -Xnoclassgc -Xms32m"/>
    ...
  </resources>

你应该用这样的nimbus属性值扩展:

  <resources>
    <j2se version="1.7+" java-vm-args="-esa -Xnoclassgc -Xms32m"/>
    <property name="swing.laf" value="com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" />
    <property name="swing.defaultlaf" value="com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" />
    ...
  </resources>

获取创建的预期java命令行。

答案 1 :(得分:-1)

几乎编程中的一切......

这取决于。有一种方法可以从jar文件中获取java代码(java开发人员使用的术语是“反编译”),但有一个名为“混淆”的过程有时会阻止这种情况。您使用的程序包含混淆代码的可能性很高。如果代码被混淆,那么你得到一个无法编译的代码,你需要重写整个代码库。

这不是唯一的问题,反混淆代码不是100%非法,但您可以共享代码或重新编译的程序。如果选择此路径,请记住这一点。

要反编译jar文件,您可以使用jd-gui。然后,您需要将获取的java文件保存到目录中。您可以使用普通的文本编辑器打开它们,但我建议您使用Java IDE,例如Eclipse

在此之后,它很容易改变,GUI看起来如何。您可以查看有关此内容的java GUI教程。