繁体   English   中英

BufferedImage 不可点击

[英]BufferedImage not clickable

我目前在将BufferedImage制作成可点击对象时遇到问题。
我希望用户能够单击自己类中的图像,然后通过drawImage进行绘制。

任何人都可以给我任何支持以实现这一目标吗?

是否也可以在怪物类中执行此操作并在绘制后保持可点击功能?

我试过对此进行研究,似乎我需要一个鼠标监听器,但我很难理解如何。

import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import java.util.*;
      
public class Monster {

      static final double BASE_MONSTER_HEALTH = 10;
         
      static double monsterHealth;
      static double monsterDamage;
            
      BufferedImage monsterSprite;
      String monsterName;
      Random rand = new Random();
         
      public Monster() {
          monsterHealth = Math.pow(RPGClicker.room, 2) * BASE_MONSTER_HEALTH;
          monsterDamage = RPGClicker.room + 1 - RPGClicker.defenceLevel;

          String monster[] = {"Ork", "Mermaid", "Goblin"};
          String monsterType = monster[rand.nextInt(monster.length)];
          monsterSprite = ImageLoader.loadImage("rec/alpha/monster/" + monsterType + ".png");

          String[] firstName = {"Oliver", "George", "Harry"};
          String connection1 = " the ";
          String[] secondName = {"Powerful ", "Unstoppable ", "Almighty "};
          String connection2 = " of ";
          String[] thirdName = {"Sloth", "Wrath", "Pride"};
               
          monsterName = firstName[rand.nextInt(firstName.length)] + connection1 + secondName[rand.nextInt(secondName.length)] + monsterType + connection2 +  thirdName[rand.nextInt(thirdName.length)];
    }
}

我认为作为 10 的入门者,您可以考虑将图像转换为 JButton - 扩展 JButton 并重载paintComponents 方法 - 这将使其可点击。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM