Java OSX APP问题

时间:2014-07-06 00:53:14

标签: java macos

最终确定如何使用app bundler将我的项目转换为osx上的runnable .app之后,我的java应用程序出现问题。我设法让捆绑包打包我的单个jar文件以及整个java 1.7 jdk。这是我的build.xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <project basedir="." default="build" name="FT">
 <property environment="env"/>
 <taskdef
 name="bundleapp"
 classname="com.oracle.appbundler.AppBundlerTask"
 classpath="lib/appbundler-1.0.jar" />

 <target name="bundle">
     <bundleapp
         outputdirectory="dist"
         name="shareio"
         displayname="Shareio"
         identifier="com.example.shareio"
         shortversion="1.0"
         applicationCategory="public.app-category.developer-tools"
         mainclassname="Client">
         <classpath file="java/Shareio.jar"/>
         <runtime dir="/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home" />
     </bundleapp>
 </target>

我遇到的问题是:

  1. 当我启动新创建的Shareio.app时,整个程序看起来模糊或模糊,有时它不会在我的程序中显示或加载JTable或选项卡。它似乎没有在正确的Java VM版本中运行它。
  2. 我可以自己启动Shareio.jar文件(在shareio.app/Contents/java目录内),程序运行完美,看起来很好。

    该项目也通过日食完全发布。我使用eclipse将项目导出为shareio.jar。我的项目是使用java SE 7构建的。

    我在这里遗漏了什么吗?我似乎无法想出这个。我的macbook运行10.9和java版本:1.6和1.7。 java -version也说1.7。就像我说的那样,当我将它作为应用程序启动时,该程序只会出现问题。

    如果您愿意,我可以附加图片。感谢。

1 个答案:

答案 0 :(得分:0)

7.3.2 Java应用程序的属性列表属性

com.apple.macosx.AntiAliasedTextOn
  

此属性默认为true。在渲染文本时,它告诉了   应用程序使用抗锯齿。偶尔你可能想要   将此值切换为false。如果您的应用程序绘制文本相同   位置两次,它可以看起来模糊,作为文本的每个应用程序   屏幕渐渐变暗。相反,如果您的申请   期望通过先前绘制背景颜色来擦除文本   渲染文本,抗锯齿工件可以留下来。在JDK下   1.4.1,使用apple.awt.textantialiasing代替(如下一节所述)。请注意,您可以包含两个属性而不会生病   的效果。

com.apple.macosx.AntiAliasedGraphicsOn
  

此属性也默认为true。喜欢周围的潜在问题   消除锯齿的文本,默认的Mac OS X渲染图形可以导致   模糊的图形。你可能会看到一个小的性能提升   将此属性设置为false。

http://etutorials.org/Mac+OS/macos+x+for+java+geeks/Chapter+7.+Standalone+Applications/7.3+Application+Bundles/