【问题标题】:Show JFrame in desire location在所需位置显示 JFrame
【发布时间】:2015-01-31 12:56:21
【问题描述】:

我正在开发一个使用SystemTray 的应用程序。我的代码中的每件事都很好。当我单击SystemTray 图标时,它会在给定位置显示我的jFrame。但我想在我的SystemTray 图标下方显示我的jFrame。 这可能吗。请建议一些代码。我可以通过给出正确的坐标在我的操作系统(linux)中显示它,但是如果我在不同的操作系统或不同的屏幕尺寸系统中运行这个程序,我的代码会失败。

【问题讨论】:

  • "..icon 它在给定位置显示我的jFrame。" 它是JFrame(注意大写)以及谁/什么给出了该位置?别介意回答,发MCVE(我们需要的所有答案)。
  • 先生,如果我的问题让您心动,我很抱歉。
  • 让我解释一下我的问题和我想要什么。先生,在我的应用程序中,我有一个JFrame,它使用SetLocation( x , y); 在我给定的坐标中打开。但我想在我的SystemTray 图标下方显示这个JFrame。请原谅我的语法错误。

标签: java swing jframe system-tray


【解决方案1】:

据我所知,使用 Swing 无法获取屏幕上的 SystemTray 图标坐标。另一种解决方法是在单击托盘图标时捕获鼠标位置。

Point p = MouseInfo.getPointerInfo().getLocation();
int mouseX = (int) p.getX();
int mouseY = (int) p.getY();

请记住,如果您打算使用键盘导航到托盘图标,此解决方案将无济于事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    相关资源
    最近更新 更多