我需要测量Cocoa Touch中字符串的像素宽度.任何人都可以指向我解释如何做到这一点的链接?
一段时间以来,我们的Java应用程序预先捆绑了Windows上的JRE.我们有一个用C编写的小型启动器应用程序,它使应用程序使用我们预先捆绑的JRE.现在,随着Apple的讨伐慢慢杀死Java,我们已经决定在OSX上做类似的事情是谨慎的.在OSX上使用预捆绑JRE的最佳方法是什么?
我的应用程序需要安装一些可以在运行时由应用程序编辑的文件.安装shield提供了一个别名[CommonAppDataFolder],它将在Vista和Windows 7上解析为c:\ programData,也可以在Windows XP上运行.是否有返回类似路径的win32函数?
也许我需要根据操作系统调用不同的功能?
我的Java应用程序有一个启动器,它是一个.app和一个与它捆绑在一起的帮助应用程序.
我正在尝试使用以下命令使用背景图像制作.pkg安装程序:
pkgbuild --root "./Temp" --identifier "com.company.id" --install-location "/Applications" --sign "signature" "temp.pkg"
productbuild --package-path "temp.pkg" --distribution "./Distribution.xml" --package-path "./Temp" --resources "./Resources" --sign "installer signature" "$FINAL_PKG"
Run Code Online (Sandbox Code Playgroud)
当我查看./Temp目录时,两个.app文件夹都存在,当我解构.pkg时:
pkgutil --expand "temp.pkg" "temp"
我看到.app文件夹,但有时从pkg安装时,其中一个.app文件夹不显示.它们似乎总是在第一次安装时出现,但是在多次安装和删除应用程序的机器上(如在测试和开发机器上),其中一个.app文件夹最终不会显示.我想知道这里会发生什么?
最初我们将帮助应用程序作为主应用程序放在一个单独的目录中,在这种情况下,帮助应用程序有时不会安装,但主应用程序总是会安装.接下来,我们尝试将帮助应用程序放在主应用程序中,然后这是第一次工作,但下次我尝试从安装程序安装主应用程序不在那里!
当我的应用程序在Mac上运行时,我试图从使用JFileChooser切换到FileDialog,以便它将使用OS X文件选择器.到目前为止,我有以下代码:
FileDialog fd = new FileDialog(this);
fd.setDirectory(_projectsBaseDir.getPath());
fd.setLocation(50,50);
fd.setFile(?);
fd.setVisible(true);
File selectedFile = new File(fd.getFile());
Run Code Online (Sandbox Code Playgroud)
我会为这个问题投入什么?所以我的文件选择器将允许任何目录作为文件选择器的输入(后面的方法已经检查以确保该目录是我想让FileDialog接受任何目录的正确类型的目录).
我需要创建一个包含4个选项的自定义对话框,但据我所知,只有一个有三个选项.这是我如何制作一个带有3个选项的选项窗格:
Frame refFrame = DialogUtils.getReferenceFrame();
///TODO:
/// - Use DialogUtils
int option = JOptionPane.showOptionDialog(refFrame,
msg,
rsc.str("918"),
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE,
DialogUtils.INFO_ICON,
options,
options[0]);
Run Code Online (Sandbox Code Playgroud)
但我找不到YES_NO_CANCEL_OPTION的某种开放式替代品.有没有办法让JOptionPane允许四种选择?
是否有一个类似的函数(解析整数"ff":基数16)将带我回到另一个方向?如果我有int 255如何将其转换为字符串ff?
是否有一个可以设置的标志,当它被鼠标悬停时会导致Cocoa按钮突出显示.我需要以编程方式在OSX上使用目标C.
我想在我的常见lisp应用程序中启动一个计时器,在一定时间后它会调用某个方法.实现这一目标的最佳方法是什么?
我的openGL应用程序在内存不足时出现了一些问题,我正在尝试追踪我的问题.为此,我创建了一个小的测试程序,基本上只是从文件调用glDeleteTextures加载一个巨大的纹理,然后再次加载它,如果我在OSX上运行这个测试程序,这个过程可以运行数百次迭代而没有问题(最多我运行它是1024,这没有问题)但在Windows上大约14次迭代后,我得到一个GLU_OUT_OF_MEMORY错误.我一遍又一遍地装载的纹理是一个巨大的天空圆顶(4096 x 1024和4.9MB).
这是我运行的代码与非lisp倾向的评论:
测试程序:
(with-glcontext (shared-opengl-view)
;;loop 1024 times
(dotimes (i 1024)
;; create a texture and return its texture name
(let ((texture (create-texture-from-file (truename "lui:resources;sky domes;DarkClouds.png"))))
;;Allocate two bytes to pass to glDeleteTextures
(ccl::rlet ((&texName :long))
;; put the texture string into our allocated bytes
(setf (ccl::%get-long &texName) texture)
;; Delete the textures?
(glDeleteTextures 1 &texName)))))
Run Code Online (Sandbox Code Playgroud)
从文件创建纹理(这个方法的大部分是由openGL调用组成的,所以我认为大多数openGL人员应该对这里发生的事情有一个合理的理解,但我可以澄清任何令人困惑的事情):
(defun CREATE-TEXTURE-FROM-FILE (Filename &key Verbose (Build-Mipmaps t) Repeat (Mag-Filter *Default-OpenGL-Texture-Magnification-Filter*) Forced-Depth) "
in: Filename {string},
&key Verbose {boolean}, Repeat
out: OpenGL-Texture-Name …Run Code Online (Sandbox Code Playgroud) java ×3
common-lisp ×2
macos ×2
button ×1
cocoa ×1
cocoa-touch ×1
decimal ×1
filedialog ×1
graphics ×1
hex ×1
highlighting ×1
installer ×1
joptionpane ×1
nsstring ×1
opengl ×1
path ×1
pkgbuild ×1
productbuild ×1
programdata ×1
swing ×1
textures ×1
timer ×1
width ×1
winapi ×1