Java Swing - 用户警报

时间:2012-08-14 08:00:48

标签: java swing

我正在尝试通过将窗口调到前面然后在屏幕上为用户闪烁图标来构建用户警报机制。关于这种方法,我有两个问题:

  1. 如何在Java中找到当前窗口,然后将其最小化并将其置于最前面?
  2. Java中是否有一种机制可以让我在屏幕中间只显示一两秒的图标然后隐藏它?如果没有,那么实现这一目标的方法是什么?
  3. 非常感谢您的回复。

2 个答案:

答案 0 :(得分:12)

  

如何在Java中找到当前窗口,然后将其最小化并将其置于最前面

Window[] allWindows = Window.getWindows(); 
  • 从当前JVM返回所有Top-Level Containers的数组,例如J/FrameJ/DialogJOptionPane),J/Window

  • 您可以测试(示例)if (allWindows[i] instanceof JFrame) {

  • 然后WindowState返回WindowEvent

  

将窗口调到前面,然后在屏幕上为用户闪烁图标

使用未解码的JDialog(有效toFronttoBack

  • 只创建一次

  • setDefaultCloseOperations(HIDE_ON_CLOSE)

  • 使用Swing Timer隐藏JDialog

  

Java中是否有一种机制可以让我在屏幕中间只显示一两秒的图标然后隐藏它?如果没有,那么实现这一目标的方法是什么?

  • 查看Java Translucent Window,将Icon放到JLabel(或JButton

通过隐藏Swing Timer或在两个或更多Icon之间进行切换来使用Icons闪烁(三个或四个是好的)

答案 1 :(得分:2)

我认为获得窗口祖先的最简单方法是: SwingUtilities.getWindowAncestor(yourComponent);