小编Sus*_*sek的帖子

每当您点击它时,重新绘制具有不同图像的JPanel

我还是Java的新手,我有以下问题.正如你在下面看到的那样,我创建了一个带有图像的JPanel,每当我点击面板时我想要更改它,但由于某种原因它不起作用.我已经坐了几个小时了,似乎完全卡住了.如果你能看一下代码并帮助我,我将非常感激.谢谢你,祝圣诞快乐.

public class Level {
  JPanel panel
  String img1Path = "img1.png";
  String img2Path = "img2.png";
  Image img1 = Toolkit.getDefaultToolkit().getImage(img1Path);
  Image img2 = Toolkit.getDefaultToolkit().getImage(img2Path);
  boolean s1 = false;

  public Level(){
    initGUI();
  }

  public void initGUI(){
    panel = new JPanel(){
      public void paintComponent(Graphics g){
       super.paintComponent(g);
       draw(g,s1);
      }
    }
   panel.addMouseListener(new ImgListener(s1));
  }

  public void draw(Graphics g, boolean s){
    if(s==true){
      g.drawImage(img1,0,0,this);}
    else if(s==false){
      g.drawImage(img2,0,0,this);}
    }//draw()

  public void click(boolean s, boolean b){
    s = b;
    repaint();
  }

  public class ImgListener extends MouseAdapter {
    boolean s; …
Run Code Online (Sandbox Code Playgroud)

java swing repaint mouselistener

3
推荐指数
1
解决办法
195
查看次数

标签 统计

java ×1

mouselistener ×1

repaint ×1

swing ×1