在JFrame中进行克隆时,全屏维护PowerPoint

时间:2015-07-14 13:06:31

标签: java swing jframe transparency

我正在开发一个由运行在Microsoft PowerPoint之上的JFrame组成的应用程序。它是一个看不见的框架,以便您可以看到PowerPoint正在显示的内容。此框架具有我希望能够单击的某些按钮,而PowerPoint演示文稿处于“PowerPoint演示模式”(全屏)。

问题在于,当我单击框架中的按钮时,PowerPoint最小化。我希望在单击按钮时将PowerPoint保持为全屏。这是我用来将框架设置在PowerPoint前面的代码。

jframe.setUndecorated(true);
jframe.setBackground(new Color(0, 255, 0, 0));
jframe.setVisible(true);    
jframe.setResizable(false);  
jframe.setAlwaysOnTop(true);

我考虑过的一些解决方案是:

  1. 尝试使用jframe.setFocusable(false);,以便在PowerPoint应用中维护焦点,而不是更改为我的应用。我还在JPanel中使用了该方法,并在框架中使用了按钮。但它似乎没有做到这一点。
  2. 这第二个解决方案有效,但是它很糟糕。当按下其中一个按钮时,它最小化PowerPoint,之后我使用java Robot类来按cmd + tab(或windows中的alt + tab),并且由于最后一个具有焦点的应用程序是PowerPoint,它会重新进入全屏,我的应用仍然在顶部。问题是用户会注意到这一点,并且应该有一个更简单的方法。

0 个答案:

没有答案