Tag: 跨平台

为什么NetBeans在OS X上运行我的程序,而不是将其构建到JAR中?

TL;博士 我错过了什么依赖允许NetBeans在内部运行OS X集成程序,但是不能清理并构建它到JAR? 我正在尝试制作一个集成到OS X中的Java程序,但我希望将它发布到Windows和Linux上。 为此,我使用com.apple.eawt包的实用程序类。 到目前为止,它一直很棒。 我已将我的菜单栏集成到OS X中,我有首选项处理程序和关于处理程序以及所有有趣的东西,并且它工作得很好…当我只是单击在NetBeans中运行时。 然而! 当我单击“ 清理并生成”时 ,我会收到许多这样的错误: /my/source/path/MenuBarManager.java:3: error: package com.apple.eawt does not exist import com.apple.eawt.AboutHandler; /my/source/path/MenuBarManager.java:62: error: cannot find symbol private static class MyAboutHandler implements AboutHandler { ^ symbol: class AboutHandler location: class MyMenuBarManager /my/source/path/MyMenuBarManager.java:68: error: package AppEvent does not exist @Override public void handleAbout(AppEvent.AboutEvent ae) { ^ […]

支持Windows / Mac和32bit / 64bit上的SWT

我目前正在使用DJProject将浏览器放入我的Java Swing应用程序中。 DJProject使用SWT运行,我对SWT的经验很少。 我想支持32位和64位的Windows和Mac。 我知道每个平台都有一个swt.jar文件。 我将所有4个swt.jar库添加到我的类路径中作为主应用程序的库。 我的问题是,当我尝试在Mac上运行应用程序时,我得到错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM 我将如何在运行时自动告诉Java加载SWT库的正确变体。

Apple贬低Java。 Apple特定的自定义设置是否仍可与其他JRE / JVM一起使用?

Apple“弃用”Java并将在未来停止支持它。 假设Oracle将在Mac上接管Java的支持,是否有办法确保特定于Apple的黑客“将菜单栏置于屏幕顶部”或“默认使用本机主题”将得到支持在针对Apple平台的其他JRE / JVM上采用相同的方式吗? 是否有一些行业标准或优先权如何处理这些情况,或者这对个别开发人员来说是一个额外的负担(==还有另一个运行时要测试)? 通常的做法是从前一个实现的角度出发,并将错误复制到像Apple实现一样的行为吗? 或者更有可能的是,工程将从一些像OpenJDK这样的“标准”Java开始,并将它适应Mac OSX系统,引入不同的错误/ API /设置以集成到本机平台? 虽然Apple的举动和甲骨文的反应的细节仍然不明确,但如果有“大公司在这些情况下表现得如何”的经验能够加强并提供一些见解,我将非常高兴。

哪个Java库用于从连接的摄像机录制video?

你会认为tere是一个简单的解决方案,但没有:( 我的应用程序需要捕获来自USB / firewire(或任何连接)连接相机的流(结果将是像output.flv这样的文件)。 我希望我可以检测所有连接的摄像机并选择使用哪一个(一个或多个同时 – >一个或多个输出文件)。 应用程序必须是跨平台的。 找到图书馆: Xuggle – 相机支持不是很好。 适合操纵图像和video。 JMF – 一个旧的API,但如果我可以使用它,我会。 我没有在下载页面上看到MAC OS X链接。 FMJ – 看起来像JMF的更好版本,但无法找到安装它的方法。 LTI-CIVIL – FMJ使用它。 看起来它只捕获来自相机(不是video)的图像。 我可以使用Xuggle从LTI-CIVIL拍摄的图像中创建video。 和FMJ一样,很难安装。 你对这个有什么建议?

如何让JNLP下载正确版本的JavaFX 2?

JavaFX 2高度依赖于本机代码。 对于我的桌面应用程序,我想为每个支持的操作系统选择最匹配的JavaFX风格,以使目标系统上的安装尽可能轻松。 由于JavaFX 2附带了几个Ant任务来帮助部署,我认为这是要走的路,但我似乎已经走到了尽头。 deploy任务生成JNLP文件,其中包含调用JavaFX安装程序的资源引用: 这显然不适用于Windows以外的操作系统,甚至可能适用于32位Windows。 根据JNLP文档 ,可以使用依赖于操作系统的资源选择: … 但是,我无法弄清楚不同平台的URL。 它们是否记录在某处? 还有另一种方法来实现我的目标吗? 请注意,已经存在类似的问题 ,但它仅限于问题的32/64位部分,并且没有得到答复。

Libgdx – 检查按键是否被按下?

我正在使用java libgdx游戏库,我很好奇,如果我能判断一个键是否正在被HELD,而不是按下并放手。 我需要知道这一点,因为如果只是按下它我将播放一个较短的mp3文件,如果它被保持,我将播放一个较长的mp3文件。

将JavaFX从jdk跨平台中删除后会不会?

JavaFX 11是否跨平台? 正如我在openjfx.org中看到的那样,我必须下载每个平台的版本。 如果是这样,我可以以任何方式以跨平台forms使用它吗? 我应该为每个java版本使用每个javafx版本吗? 不要告诉我使用maven或类似的东西。 我想编写一个跨平台的软件。 而且每个操作系统的每个版本都没有多版本软件。 我在检查操作系统后加载模块但我可以这样做吗? 任何方式都有很多跨平台的库,即使它有本机代码,为什么OpenJFX不这样做呢?

如何处理不同计算机之间的Java 2D性能变化?

我一直在Windows上用Java设计一款纸牌游戏。 它在我的笔记本电脑和其他一些系统上运行得非常好,但在许多其他系统(甚至是Mac和Windows上的一些新系统)上,动画速度非常慢。 我发现Java用户界面工具包是迄今为止最好的资源,但未能取得重大改进。 我正在使用AWT / Swing库。 题: 看看我的游戏 ,(<1.5Mb),在某些计算机(类似规格)上,性能似乎远远低于笔记本电脑上的性能? 整个应用程序是事件驱动的,我已经完成了大部分优化,我认为在实现的情况下可以完成。 我感觉它与记忆有关。 我创建(兼容),然后在开始时将我的所有图像存储到一个数组中,然后在那里引用它们。 注意:我决定制作这个游戏,以便我可以学习和练习一些新的想法,所以我不只是想分享它 – 我真的很想知道这里发生了什么。

用于Java的USB软件保护加密狗,具有跨平台“真实”的SDK。 它存在吗?

我想问的是,是否有人知道用于软件保护的硬件USB加密狗,它为跨平台Java部署提供了非常完整的开箱即用API支持。 它的SDK应该提供一个jar(每个操作系统和位数只有一个,而不是一个不同的库),可以作为库添加到一个人的项目中。 jar应包含各种操作系统和位数的所有本机内容 从应用程序的角度来看,应该继续编写(api调用)一次并在任何地方运行,而不必关心最终用户将运行软件的位置 提供的jar本身应该处理加载适当的本机库 这样的事情存在吗? 到目前为止我已经尝试过,你有不同的API和win32,linux32,win64,linux64等编译库(或者你甚至必须自己在目标机器上编译东西),但是,嘿,我们在这里做Java ,我们不知道(也不关心)程序将在哪里运行! 而且我们不能指望最终用户成为一名软件工程师,调整(并打破!)它的linux服务器,链接库,搞乱gcc,乱丢文件系统等等…… 一般来说,Java支持(以透明的跨平台方式)对于我目前评估的加密狗SDK(例如KeyLok和SecuTech的UniKey)非常糟糕。 我甚至购买了(没有免费评估套件)SecureMetric SDK和加密狗(他们应该“soooo”直接整合 – 根据营销材料:\)他们是有史以来最糟糕的:SecureDongle X没有64位支持和SecureDongle SD是根本不是跨平台的。 那么, 有没有人通过这个并找到了最终的Java安全usb加密狗用于跨平台部署? 注意:软件是低容量,高价值的; 应用程序是脱机的(没有互联网访问的内部网),因此没有在线激活替代品等。 – 编辑 尝试了HASP加密狗(曾经被称为“阿拉丁”),并将它们添加到禁止清单中:在这里,也没有开箱即用(开箱即用)的支持:例如end-linux-user必须手动将.so库(特定文件的适当位数)放在他的文件系统的正确位置,然后导出一个env。 因此变量。

为软件分发创建多平台CD

这不是严格的编程相关,但我希望仍然相关。 我正在开发一个用Java编写的项目,用于PC和Mac。 它将分发在CD(最终可能是DVD)上。 我们的目标受众肯定是非技术性的,因此,CD在加载时“正常工作”非常重要。 这本身并不困难。 对于Windows,我们可以设置自动运行以自动启动应用程序,对于Mac,我们可以使用特殊的文件夹格式来明确用户应该做什么。 问题在于我们想要运送一张可以在Mac或PC上使用的光盘。 我已经看到了一些使用特定的专有软件完成此操作的拜占庭方法 。 希望这不是实现这一目标的唯一方法。 所以我的问题是: 如何创建一张CD来分发软件,以便在Mac和PC上打开时CD能够正常运行,执行或显示“原生”?