我正在创建一个可以在两个监视器上运行的应用程序。为此,我创建了 2 个 JFrame。第一个是我的客户端应用程序,它只会显示我必须看到的信息。第二个(我们称之为 TweetForm)是一个 jframe,它将显示每个人都可以看到的信息。(可能的显示器是电视)。我已经搜索了如何将它放在两个单独的屏幕上并找到以下解决方案: Show JFrame in a specific screen in dual monitor configuration
这工作得很好,但是:每当我将注意力集中在我的“主监视器”上时,电视上显示的 tweetForm 就会被最小化。如何防止 jframe 最小化并始终显示?(即使第一个 jframe 是否最小化)
来自第二个 JFRAME 的代码
/**
* Creates new form TweetForm
*/
public TweetForm()
{
initComponents();
dispose();
setUndecorated(true);
pack();
setExtendedState(Frame.MAXIMIZED_BOTH);
setTitle("Serious Request");
this.setAlwaysOnTop(true);
showOnScreen(1, this);
}
public static void showOnScreen( int screen, JFrame frame )
{
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
if( screen > -1 && screen < gs.length )
{
gs[screen].setFullScreenWindow( frame );
}
else if( gs.length > 0 )
{
gs[0].setFullScreenWindow( frame );
}
else
{
throw new RuntimeException( "No Screens Found" );
}
}