0
私はJFrame
背景イメージを変更することで小さな問題があります。まず、JLabel
という背景画像を追加し、アプリケーションがうまくいきます。しかし、今私はそれを動的に変更する必要があります。JFrameの背景を動的に変更する方法は?
私はこのコードを試してみた:
label = new JLabel(new ImageIcon(Toolkit.getDefaultToo... // old background image
public void changeImage(){
label.setVisible(false);
label2 = new JLabel(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("weatherall.gif"))));
setContentPane(label2); // new Background image
label2.setVisible(true);
repaint();
}
switch (cmb.getSelectedItem().toString()) {
case "ISTANBUL":
x = 0;
changeImage();
//some codes......vs.vs.
break;
もI'vは、タイマー(
TimerTask
)ごとに1秒でそれを試してみました。リフレッシュフレーム
誰もがこれについて考えていますか?
は、(前のJLabelに追加され、集中的なI/Oは、アイコン/ ImageIconのためのフラッシュを()必要なので、より良い実行時にロードするイメージアイコンとしてローカル変数を使用してもwiil)のJLabelに画像を追加し、二つの方法があります2番目の方法はpaintComponentを使ってJPanelにペイントすることです。デフォルトで両方の方法が公式のOraclesチュートリアルで説明されています – mKorbel
ここでは、イメージの設定方法を変更してこの回答を使用できます。プログラムがループしてペイントを呼び出すときにイメージを設定します。 [関連する質問](http://stackoverflow.com/questions/1064977/setting-background-images-in-jframe?rq=1) – Underbalanced
@mkorbel私のソースコードを見れば、それはあなたが理解しやすいことができます。私は***のランタイムでイメージを変更する***と私のアプリはJFrameを拡張... [リンク](https://drive.google.com/file/d/0ByPqPK4HeCfMV3BNZFpJczBoTVU/view?usp=sharing) –