QA@IT

drawImageとJLabelを同時に使うとJLabalが表示されない

4160 PV

javaで簡単なノベルゲームを作ろうと思ったのですが、drawImageで背景を作ってJLabelでテキストを表示させたいのですが、JLabelが表示されません。初心者かつ初投稿なので汚いかもしれませんがよろしくお願いします。

package demo;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main {

public static void main(String[] args) {
    JFrame Frame=new JFrame("DEMO");
    Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Frame.setSize(1200,800);
    Frame.setLocationRelativeTo(null);


    JPanel spane = Spane.spane();
    spane.setBounds(0,0,1200,800);


    JPanel contentPane = (JPanel)Frame.getContentPane();
    Frame.setLayout(null);
    contentPane.add(spane);


    Frame.setVisible(true);

}

}

public MyPanel() {
    //上
    ImageIcon icon01 = new ImageIcon("01.png");
    pic01 = icon01.getImage().getScaledInstance((int) (icon01.getIconWidth() * 0.5), -1,Image.SCALE_SMOOTH);
    ImageIcon icon02 = new ImageIcon("02.png");
    pic02 = icon02.getImage().getScaledInstance((int) (icon02.getIconWidth() * 0.5), -1,Image.SCALE_SMOOTH);
    back = getToolkit().getImage("haikei.png");

    //下
    label01 = new JLabel("画面1");
    label01.setFont(new Font("MS ゴシック",Font.PLAIN,50));
    label01.setBounds(0,0,200,80);


    this.setLayout(null);
    this.add(label01);

    addMouseListener(this);
}


// Paint
 public void paint(Graphics g)
  {  
      g.drawImage(back,0,0,1200,600,this);
      if(x==0){
      g.drawImage(pic01,50,50,this);
      }else{
          g.drawImage(pic02,50,50,this);
      }
  }

 //マウスイベント
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
    q++; x=q%2;
    i++;
    label01.setText(i+1+"clicks");
    repaint();
}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}

}
DEMO.bmp

ウォッチ

この質問への回答やコメントをメールでお知らせします。