###前提・実現したいこと
swing+少しAWTでキャラクターが動くウインドウを作っています。
現在、パネル(1)が表示されている状態で、そこにはボタンが表示されています。
ボタンを押すと、そのパネル(1)は非表示となり、パネル(2)が非表示から表示になります。
(本当は、パネル(1)は非表示ではなく、破棄でも良いのですが、コードがわかりませんでした。)
パネル(2)にpng画像が入っており、画像が10pxほど上下に動くようにしたいです。
また、ちらつきも無くしたいです。
Graphics gに画像を入れる場合、直接その画面に表示してアニメーションを起こすことはできたのですが、
後で表示する方法がわかりませんでした。
ImageIconの場合はLabelに入れていますが、動きませんでした。
BufferedImage(Graphics g)の場合と、ImageIconの場合で試してますが、パネル(2)の画像が動かなかったり、出てこない、または動いても2枚重ねになってしまいます。
###該当のソースコード
BufferedImage gazou1 = null; //Graphics gの場合の画像 /* Graphics gの場合 */ try{ gazou1 = ImageIO.read(new File("C:\\Users\\Owner\\Desktop\\gazou\\gazou1.png")); }catch(IOException ioe){} /* ボタン操作 */ public void actionPerformed(ActionEvent e){ String bstring = e.getActionCommand(); if(bstring.equals("* 閉じる")){ panel.setVisible(false); //gazouplay(); } } public void run(){} //ImageIconの場合 public void gazouplay(){ panel2.setVisible(true); ImageIcon gazou1 = new ImageIcon("C:\\Users\\Owner\\Desktop\\gazou\\gazou1.png"); label2 = new JLabel(); label2.setIcon(gazou1); label2.setVisible(true); panel2.add(label2); Container con = getContentPane(); con.add(panel2); } //paint? paintComponent? Graphics gの場合 public void paintComponent(Graphics g){ g.drawImage(gazou1,200,450,360,500,panel2); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/25 12:14
2016/08/25 12:26 編集