2

いくつかのフォームを持つ Java でアプリケーションを作成しました。アプリケーションの開始時に、ボタン クリック イベントで新しいフォームが開きます。Windows のタスクバーで、そのフォームのアイコンの数が増加します。私が望むのは、1 つのフォームが開いているか複数のフォームが開いているかに関係なく、アプリケーション アイコンのみがタスク バーに表示されることです。

4

3 に答える 3

2

このチュートリアルは、タスクを解決するのに役立つと思います。

JDesktopPaneおよびJInternalFrameを使用したマルチドキュメントインターフェイス

于 2012-08-23T07:26:37.703 に答える
2

JFrameそれぞれがタスクバーのアイコンを取得するために問題が発生します。複数の JFrames の使用、良い/悪い習慣を参照してください。多数のソリューションへのリンク。

于 2012-08-23T07:48:30.540 に答える
0

すでに新しいウィンドウを JDialog として持っていて、まだタスクバーに 2 つのアイコンがあるという問題に直面している場合は、モーダル JDialog を次のように作成している可能性があります。

JDialog dialog = new JDialog((JFrame) null, true);

owner(最初の) 引数を null に設定すると、アプリケーションはダイアログのタスクバーに新しいアイコンを作成します。したがって、これを回避するには、ダイアログを開くときに (たとえば、ボタンをクリックして)、フレームへの参照をダイアログ コンストラクターに渡すだけです。このような:

public class MyBrandNewDialog {

    public MyBrandNewDialog(JFrame owner) {

        // create new modal dialog (the second argument is for modality)
        JDialog dialog = new JDialog(owner, true);

        // ...
}
于 2014-10-17T09:45:41.393 に答える