java - 使用 Swing/AWT 创建检查器样式窗口

标签 java macos swing user-interface awt

有没有办法使用 Swing 或 AWT 创建一个行为和外观都像 Mac OS X 上的检查器窗口的窗口?检查器窗口的一个示例是按下 Command-Option-I 时在 Finder 中打开的窗口。

我正在寻找一种方法来创建一个具有半高标题栏的窗口,该窗口始终保持在顶部并且不会获得焦点,例如当被拖动时。

解决方案只需在 Mac OS X 上运行,因此允许特定于平台的库。但如果有一个标准的方法,即使它有一些小缺点,它也是首选。

最佳答案

Leopard 添加了一些 Swing 客户端属性来改进 OS X Java 应用程序的 UI - 这些在 Technical Note TN2196 中进行了描述。 。您要找的是Window.style :

This property determines if the window has a Utility-style title bar. In order to make this window style also float above all others you must additionally call setAlwaysOnTop(true). Windows that have both the "small" style and are set to always be on top will automatically hide themselves when your application is no longer frontmost. This is similar to how native applications behave.

此属性必须在 JRootPane 上设置在创建窗口的 native 对等点之前的窗口:

dialog.getRootPane().putClientProperty("Window.style", "small");

关于java - 使用 Swing/AWT 创建检查器样式窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8100511/

相关文章:

java - 是否可以使用 sendredirect() 重定向到子目录中的页面

java - 将 GWT 与 Enterprise JavaBean 结合使用

macos - 在 Mac OS X shell 脚本中从开始日期循环到结束日期

macos - 跨版本编译程序中的静态库

java - JTextPane 和 XHTMLRenderer : When to use which

java - 设置 POI XWFP 段落行间距

java - HashMap 违背了我的值(value)观

objective-c - 在 OS X 中监控来自不同协议(protocol)的网络流量

java - 如何在此代码中为每个文本字段和标签命名? java

java - 使用本地 JSON 文件填充 Jtable