Tag: macos

使Java Swing模式对话框像Mac OSX对话框一样运行

我正在编写一个小应用程序,它需要一个ProgressBar显示在框架的TitleBar中心,就像Mac OSX应用程序中常见的那样。 我有两个问题: 1 。 我已经管理了定位,但我必须硬编码父Frame的TitleBar高度。 获得TitleBar的高度是否有“软”方式? 在Dialog的构造函数中: Dimension dimensionParentFrame = parent.getSize(); Dimension dimensionDialog = getSize(); int x = parent.getX() + ((dimensionParentFrame.width – dimensionDialog.width)/2); setLocation(x, parent.getY() + 22); // TODO HARD CODE WARNING TITLE HEIGHT 2 。 即使Dialog是模态的,我仍然可以点击父框架并移动它。 如何让对话框“粘贴”到父框架? 也就是说,当移动父框架时,对话框随之移动,就像连接一样。 任何帮助/指针将不胜感激。 这是代码: import javax.swing.JFrame; import javax.swing.JButton; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public […]

无法在RStudio中加载rJava

我一直在尝试将rJava加载到我的RStudio设置中,它只是无法正常工作。 它安装正常但在我使用命令library(rJava)时不加载。 这是我尝试过的: – 我安装了最新版本的jdk,即jdk 9.0.1。 我已经尝试将JAVA_HOME环境变量更改为jdk位置。 我也尝试过这个问题中的所有内容,但它没有用。 我附上了错误消息的屏幕截图: 我正在使用MacBook。

Mac上的JFileChooser看不到中文字符命名的文件?

在Intellij中运行时程序工作正常(它可以看到中文命名文件)。 我把它构建成.jar文件。 执行jar并且JFileChooser无法看到那些文件。 我在Windows中尝试了jar,它完全正常。

无法从MAC OSX上的后台Java应用程序复制到剪贴板

我们在MAC上运行了2个java应用程序。 一个后台应用程序将文本或图像发送到剪贴板,然后另一个应用程序抓取该数据并将其粘贴到其应用程序中。 当应用程序在剪贴板上复制某些内容时,我们遇到此问题,后台应用程序将无法更新剪贴板,直到其UI变为活动状态。 是否有解决此剪贴板问题的方法? 这适用于Windows和Linux,它似乎只是MAC上的一个问题。

Mac OS不支持Java页面翻转?

我希望有人碰巧偶然发现了以下问题。 我的Java应用程序在Mac上有图形性能问题,所以我做了一个简单的测试应用程序(下面的代码)。 当我在Windows上运行它时,控制台告诉我: 图形配置翻转? 真正 BufferStrategy翻转? 真正 当我在Mac OS上运行完全相同的代码时,我得到: 图形配置翻转? 真正 BufferStrategy翻转? 假 这是否意味着在Mac OS上,窗口应用程序根本不支持页面翻转? 是否有任何技巧可以在没有全屏的情况下在Mac OS上进行页面翻转工作? 所有指针都非常受欢迎, Mattijs 在Windows XP和Mac OS 10.5上使用JDK 1.6。 代码: import java.awt.image.BufferStrategy; import javax.swing.*; import java.awt.*; public class Test { int width = 640; int height = 480; GraphicsEnvironment graphEnv = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice graphDevice = graphEnv.getDefaultScreenDevice(); GraphicsConfiguration graphicConf = graphDevice.getDefaultConfiguration(); […]

SourceDataLine.drain()在OSX上挂起

我的游戏通过常用方法播放声音: sdl.open(); sdl.start(); sdl.write(data, 0, data.length); sdl.drain(); sdl.stop(); sdl.close(); 用户可以取消播放(异步): sdl.stop(); 这种取消在Windows下运行良好,但是对于一个运行带有Java 6的OSX 10.5.8的用户,程序会挂起。 Threaddump显示回放线程在drain()中: com.sun.media.sound.MixerSourceLine.nDrain 。 如果用户没有中断声音,它会很好地完成并继续应用程序。 我的问题是: 这是OSX Java的错误吗? 我应该使用sdl.close()而不是停止吗? 有关变通方法的任何建议或经验吗? 编辑 :我发现此错误报告具有类似的效果,但页面说它已修复。

Mac中的文件关联

从这里寻求帮助,我们现在可以从jar文件创建一个Mac应用程序,并将该应用程序与某个文件扩展名相关联。 当双击具有该扩展名的文件时,它将在该应用程序中打开,并最终在嵌入式Java应用程序中打开。 但是我们需要将选定的文件路径作为java应用程序main方法的参数。 我们怎样才能做到这一点。 我们使用过的文件类型关联 defaults write com.apple.LaunchServices LSHandlers -array-add LSHandlerContentTag PUT_FILE_EXTENSION_HERE_WITHOUT_PERIOD LSHandlerContentTagClass public.filename-extension LSHandlerRoleAll org.category.program 随着变化。 Info.plist文件中是否应该有任何更改?

从java代码在MAC OS上运行.pkg

我试图从我的java代码运行.mpkg应用程序: public void runNewPkg(){ 尝试{ String command =“sudo installer -pkg Snip.mpkg -target / Applications”; 进程p = Runtime.getRuntime()。exec(command); 的System.out.println(p.getErrorStream()); } catch(Exception ex){ ex.printStackTrace(); } } 我收到以下错误,我的终端窗口挂起.. java.lang.UNIXProcess$DeferredCloseInputStream@2747ee05 Password: Sumit-Ghoshs-iMac-3:downloads sumitghosh3$ Password: Password: -bash: **********: command not found Sumit-Ghoshs-iMac-3:downloads sumitghosh3$ 我想我还需要提供密码才能从命令行运行pkg你能告诉我怎么做吗?

Mac OS上的Java随机减速

我有一个Java程序,用于在多个处理器之间进行一系列科学计算,将其分解为多个部分并在不同的线程中运行每个部分。 这个问题很容易分区,因此线程之间没有争用或通信。 他们访问的唯一常见数据是一些不需要同步访问的共享静态缓存,以及硬盘上的一些数据文件。 线程也在不断写入磁盘,但要分离文件。 我的问题是,有时当我运行程序时,我获得了非常好的速度,有时当我运行完全相同的东西时,它运行得非常慢。 如果我看到它运行缓慢并且ctrl-C并重新启动它,它通常会再次开始快速运行。 它似乎在运行的早期设置为慢速模式或快速模式,并且从不在模式之间切换。 我把它连接到jconsole,它似乎不是一个内存问题。 当我抓住它慢慢地运行时,我已经尝试将探查器连接到它,但探查器将无法连接。 我尝试使用-Xprof运行但是慢速运行和快速运行之间的转储似乎没有太大的不同。 我也试过使用不同的垃圾收集器和内存空间的各个部分的不同的sizings。 我的机器是带有条带RAID分区的mac pro。 无论是缓慢运行还是快速运行,cpu的使用率都不会下降,如果线程在磁盘读取时花费太多时间阻塞,那么你会期望它,所以我不认为这可能是磁盘读取问题。 我的问题是,我的代码会出现什么类型的问题? 或者这可能是操作系统问题? 我无法在Windows机器上复制它,但我没有具有类似RAID设置的Windows机器。

如何在SWT / Java App中禁用Mac OS中的全屏按钮?

我正在研究SWT应用程序。 它在Windows上工作正常,但是当我在mac上运行相同的代码时。 我在shell的右上角有一个全屏按钮。 单击该全屏按钮时,应用程序停止响应并且没有任何反应。 我想禁用全屏按钮上的点击。 display = Display.getDefault(); shell = new Shell(display, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); setDialogShell(shell); getDialogShell().setLayout( new FormLayout()); getDialogShell().setFullScreen(false); 请帮忙。 我已经通过这个链接,但没有得到如何禁用mac中的全屏按钮。