ハイ、..
背景を透明に設定し、閉じる操作 (赤でマーク) を「削除」するにはどうすればよいですか? カードを見せたいだけです:-)
ありがとう..!
ハイ、..
背景を透明に設定し、閉じる操作 (赤でマーク) を「削除」するにはどうすればよいですか? カードを見せたいだけです:-)
ありがとう..!
UNDECORATED JFrame の透過性 (myJFrame.setBackground (new Color (0,0,0,0)); で十分) には問題はありませんが、JDialog では同じことが機能しません。
ただし、次のシーケンスが JDialog に最適であることを発見しました。
myJDialog.getRootPane ().setOpaque (false);
myJDialog.getContentPane ().setBackground (new Color (0, 0, 0, 0));
myJDialog.setBackground (new Color (0, 0, 0, 0));
A も残りますが、私の非公開の謙虚な提案として、ウィンドウ エクステンダー (JFrame、JDialog など) のすべての setBackground 呼び出しは、UnsupportedOperationException および IllegalComponentStateException に対して試行する必要があります。
yourDialog.setUndecorated(true)
タイトルバーのトリックを行う必要があります。
フレームを透明にするため。ルートパネルで作業する必要がありますyourDialog.getRootPane().setOpaque(false)
。
記事の指示に従ったところ、うまくいき、まったく難しくありませんでした。:) PNG画像を表示し、その(複雑な)透明度を尊重する半透明のSplashImage ans About画面ができました。ただ素晴らしい。JDK 7 では、処理方法が少し変更されることに注意してください。
キーワードの違いに注意してください。 http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html#6u10
だったらよかったのに
yourDialog.setUndecorated(true);
yourDialog.getRootPane().setOpaque(false);
トリックはうまくいきましたが、私にはうまくいきませんでした。多分私は何か間違ったことをしました。
setContentPane(Component); を使用することも重要です。getContentPane.add(Component); の代わりに
私はそれが今うまくいくことをうれしく思います!:)