当前位置: 首页 > 面试题库 >

在Java中保留屏幕边缘

茹正初
2023-03-14
问题内容

我怎样才能让一个窗口(如java.awt.Framejavax.swing.JFramejava.awt.Dialogjavax.swing.JDialog,等)预留屏幕的边缘,就像一个码头,任务栏,Trillian的,或者微软的OneNote可以吗?我的目标是尽可能使用标准的JDK库。


问题答案:

此行为非常特定于Windows操作系统,因此无法在标准JDK或AWT / Swing中执行此操作,因为它们需要在多个不同的操作系统上一致地工作。

与您想要的最接近的等效方法是获取当前屏幕的边界并移动/调整窗口大小以使其与一侧齐平,尽管现在这将对桌面或其他窗口产生任何影响。

通过使用JNIWrapper和WinPack更改本机窗口行为,您可能获得的最接近的结果。但是,他们的文档没有显示任何有关桌面工具栏的信息。您可能必须使用其JNI直接访问特定的COM函数,然后找出如何在C
中进行操作,但是,如果您不了解C ,则可能超出了您项目的范围。

附录:

如果要为特定的操作系统和桌面管理器使用本机功能,则需要连接 本机 C ++库以挂接到Gnome,KDE,Mac OS等。搜索“ Java
JNI”和您的窗口系统希望与之集成以查找可以使用的软件包。例如,对于Gnome,请参阅此处。

如果要支持多个操作系统,请确保创建一个公共接口,以便可以根据在运行时可用的JNI连接相应的JNI的实现,如果没有可用的则允许回退。

PS。如果要在应用程序中弹出通知,则Mac OS和各种Linux构建都支持Growl,这样可以节省您一些时间。



 类似资料:
  • 所以我正在用Visual Studio编写一个Android应用程序。我想要一个既有纵向又有横向的活动。当我打开我的设备时,我的活动中的数据消失了。所以我在网上查了一下,找到了一行放在清单中的数据,这很有效!Android:config changes = " orientation | keyboard hidden | screen size "除了我所有的视图都是无序的、错位的。我使用了两种

  • 屏幕保护程序     设定输出影像时,若不执行任何操作,需经过多久才会自动启动屏幕保护程序。只要按下PSP™主机的任何一个按钮,即能解除屏幕保护程序。 关 不启动屏幕保护程序。 5分后 5分后启动屏幕保护程序。 10分后 10分后启动屏幕保护程序。 15分后 15分后启动屏幕保护程序。 提示 执行以下操作时,屏幕保护程序可能会暂时停用。 播放UMD™ Video或暂停播放时 播放保存于Memory

  • 问题内容: 我正在开发一个需要屏幕DPI的应用程序。我检查了几个论坛,并获得了一个代码段,内容如下: 但是无论我的屏幕分辨率值是多少,该值都保持不变,为96。代码有什么问题? 对于同一件事,我得到了另一个代码,如下所示: 但是再一次,无论我的屏幕分辨率如何,返回的值都是相同的96。怎么了?我的代码是错误的还是我以错误的方式解释了它? 问题答案: 问题是没有人知道操作系统的确切物理尺寸,甚至连操作系

  • 问题内容: 我找到了几种解决方案,如何在Java中做到这一点,但没有找到如何在QML或Qt中做到这一点。我知道首先我应该在中设置许可。我应该怎么做才能在运行时从Qt打开和关闭屏幕锁定? 问题答案: 您可以使用Qt Android Extras模块并使用JNI从C ++调用相关的Java函数。就像是 :

  • 这可能是我处理布局的方式有问题。对Java和Android软件开发工具包来说有点新鲜。我正在使用Android Studio。 我在这一点上的目标是有一个应用程序,屏幕底部显示一个带有图标的导航栏,顶部有一个带有“关闭”按钮和“保存”按钮的工具栏。工具栏和导航栏之间应该是一个空白的白色屏幕。 但是我很难让工具栏停留在屏幕的顶部。灰色背景占据了白色背景前面的整个屏幕。下面是截图。 这是我所知道的: