用Mac打开罐子

时间:2016-02-16 18:00:00

标签: java windows macos button

您好,我最近制作了一个更新程序,我的玩家可以打开罐子,如果我直接发送它,他们直接点击它

但如果我要求他们使用按钮它不会加载它们这是我到目前为止所做的和我做的尝试

 if(OSCheck.isWindows()) {
     statusLabel.setText("Windows");
     ProcessBuilder pb = new ProcessBuilder("java", "-jar", myClient);
     Process p = pb.start();
 } else if(OSCheck.isMac())  {
     statusLabel.setText("Mac");
     ProcessBuilder pb = new ProcessBuilder("#!/bin/sh java", "-jar", myClient);
     Process p = pb.start();
 }

正如你所看到我拥有它所以它检查用户所在的操作系统并且工作正常然后我做了它所以它说操作系统他们现在在Windows中它完美没有问题但我无法得到它如果他们使用的是Mac,你可以看到我做了一次尝试,但没有悲伤地工作

1 个答案:

答案 0 :(得分:0)

我建议您使用Jar Bundler将.jars文件转换为Mac OS X的原生.app可执行文件,然后再在代码中执行。 如果这不是一个选项,您是否考虑在终端中创建一个shell脚本来为您执行.jar?

只是想了一下,想出了另一个想法:

protected void Batch_ManualStatus_FieldUpdating(PXCache sender, PXFieldUpdatingEventArgs e)
{
    Batch batch = (Batch)e.Row;
    if (batch != null && e.NewValue != null)
    {
        switch ((string)e.NewValue)
        {
        case "H":
            batch.Hold = true;
            batch.Released = false;
            batch.Posted = false;
            break;
        case "B":
            batch.Hold = false;
            batch.Released = false;
            batch.Posted = false;
            break;
        case "U":
            batch.Hold = false;
            batch.Released = true;
            batch.Posted = false;
            break;
        case "P":
            batch.Hold = false;
            batch.Released = true;
            batch.Posted = true;
            break;
        }
   }
}

编辑: 刚碰到这个:Jar launcher。看起来像是你问题的明确解决方案。

希望我能帮助一下。