2011-12-29 26 views
0

私はjFrameをjDialogに変更しようとしていますので、メインウィンドウのアイコンを継承していますが、それを行う手掛かりはありません。 public class jSemestriala extends javax.swing.JFrameからpublic class jSemestriala extends javax.swing.JDialogにコードを設定しようとしましたが、ウィンドウのアイコンは変更されませんでした。何か案は?私はNetBeans 7.0.1を使用していますjFrameをjDialogに変更しますか?

+1

ウィンドウデコレーションは、ホストOSが所有しています。画像は_n_ワードの価値があるかもしれません。 – trashgod

+0

私は分かりません。あなたはもっと具体的になりますか? – Bugster

+1

変更する内容を示す[screenshot](http://meta.stackexchange.com/questions/99734/how-do-i-create-a-screenshot-to-illustrate-a-post)を投稿してください。 [sscce](http://sscce.org/)も役に立ちます。 – trashgod

答えて

1

JDialogは所有者フレームからアイコンを取得します。 2つのオプションがあります。

  1. 不可視のJFrameを作成し、それにアイコンを設定し、そのフレームをダイアログの所有者に設定します。
  2. ダイアログを作成し、所有者を取得し、アイコンを設定します。

私は最初のオプションを選択します。それは私にとっては安全だと思われます。 2つ目は、ダイアログの(共有の)所有者を使用します。これは副作用を引き起こす可能性があります。

further readingの場合。

すでにメインフレームがある場合は、ダイアログのコンストラクタでオーナーとして設定するだけで済みます。あなたがJDialogの所有者として「メインウィンドウ」フレームを指定する必要が

1

// ownerframe is a JFrame; 
JFrame ownerframe = new JFrame(); 
JDialog dlg = new JDialog(ownerframe); 

JDialog sが所有者フレームを持っています。フレームは、コンストラクタnew JDialog()を呼び出した場合に作成されます。この場合、フレームは表示されません。 new JDialog(ownerframe)を使用してコンストラクタ内のダイアログに供給します。

+0

私は分かりません。あなたはそのコードを説明できますか? – Bugster

0
  • たJFrameのデザインビューからコンポーネント

  • ハードコピーの新しい使って、JDialogを作成する(あなたは明確にすべてをコピーするにはナビゲータウィンドウを使用することができます。単にJFrameの下のコンポーネントをコピーofcourseの)

  • を(再びナビゲータウィンドウを使用します。JDialogの下ofcourseのペースト)JDialogの上に貼り付け

  • のJFrameのソースコードウィンドウ からソースコードを使って、JDialogに貼り付け

    ハードコピー」ソースコード

  • 自動作成されたコード に手を触れないでください。必要な場合は、デザインウィンドウを使用して再度追加してください。クラスフォームのタイプを選択するには注意が:

  • は、すべての時間を覚えて:)あなたの目と手を使用して、新しい使って、JDialogのソースコードウィンドウでエラーを修正します。

ご迷惑をかけます。
時間がかかることがありますが、問題なく動作します。

関連する問題