2 つのモニターで実行できるアプリケーションを作成しています。そのために、2 つの JFrame を作成しました。1 つ目は、私が見なければならない情報だけを表示するクライアント アプリケーションです。2 つ目 (TweetForm と呼びましょう) は、誰もが見ることができる情報を表示する jframe です。(おそらくモニターはテレビになります)。これを 2 つの別々の画面に配置する方法を検索したところ、次の解決策が見つかりました: デュアル モニター構成で特定の画面に JFrame を表示する
これは問題なく動作しますが、「mainmonitor」に何かをフォーカスすると、TV に表示されている tweetForm が最小化されます。jframe が最小化されないようにして、常に表示されるようにするにはどうすればよいですか? (最初の jframe が最小化されているかどうかに関係なく)
2番目の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" );
}
}