我试图用Java为学校制作Cisco Packet Tracer克隆,我用可点击的计算机制作了我的图形界面。为了查看鼠标是否在计算机上,我使用MouseListener检查鼠标是否在" hitbox"一台电脑: 每台计算机都从Machine
扩展 public void mouseMoved(MouseEvent e) {
for(Machine machine : networkManager.getMachines()) {
if(machine.getBounds().contains(e.getPoint())) {
machine.setHovered(true);
isMachineHovered = true;
machineHovered = machine;
}
else if(machine.isHovered()){
isMachineHovered = false;
machineHovered = null;
machine.setHovered(false);
}
}
在我的Machine类中,我有这个方法(collideBox是一个与计算机大小相对应的Rectangle对象)
public Rectangle getBounds(){
return collideBox.getBounds();
}
我想知道是否更好地使我的Machine类从JComponent扩展,因此我可以使用MouseEntered方法和JComponent中的所有其他方法。它有可能并且是个好主意吗?