java - Modifying an Images Enum -


so friend crated enum , want shorten it. thought shorting each of file paths in strings , refrencing string pokemonpath = "pictures/menu/mainmenu/"; , being pokepath +" cosmet.png i'm not sure on how implement it. if has anyideas on how shorten more, love hear too. alos in own class file putting constants @ top not work properly, give me error.

i don't work enums dont know how use them efficiently.

this code

import java.awt.image; import java.io.file; import java.io.ioexception;  import javax.imageio.imageio;  public enum images {  // menu stuff. don't know how organize it. it. welcomebg("pictures/menu/mainmenu/welcomebg.png"), pokemontitlemenubg(         "pictures/menu/mainmenu/pokemontitlemenubg.png"), pokemonmenuall(         "pictures/menu/pokemonmenu/pokemonmenuall.png"), pokemonmenucontinue(         "pictures/menu/pokemonmenu/pokemonmenucontinue.png"), pokemonmenucontinueselected(         "pictures/menu/pokemonmenu/pokemonmenucontinueselected.png"), pokemonmenuallselected(         "pictures/menu/pokemonmenu/pokemonmenuallselected.png"), titlescreen(         "pictures/menu/mainmenu/titlescreen.png"),  professor("pictures/menu/npc/professor.png"), professorflip(         "pictures/menu/npc/professorflip.png"),  friendgirl("pictures/menu/playerpictures/friendgirl.png"), friendboy(         "pictures/menu/playerpictures/friendboy.png"), playerboy(         "pictures/menu/playerpictures/playerboy.png"), playergirl(         "pictures/menu/playerpictures/playergirl.png"), male(         "pictures/menu/playerpictures/male.png"), female(         "pictures/menu/playerpictures/female.png"), credits(         "pictures/menu/mainmenu/credits.png"), gender(         "pictures/menu/playerpictures/gender.png"),  // player sprites  playerdown("pictures/sprites/player/"), playerdown1(         "pictures/sprites/player/down1.png"), playerdown2(         "pictures/sprites/player/down2.png"), playerleft(         "pictures/sprites/player/left.png"), playerleft1(         "pictures/sprites/player/left1.png"), playerleft2(         "pictures/sprites/player/left2.png"), playerright(         "pictures/sprites/player/right.png"), playerright1(         "pictures/sprites/player/right1.png"), playerright2(         "pictures/sprites/player/right2.png"), playerup(         "pictures/sprites/player/up.png"), playerup1(         "pictures/sprites/player/up1.png"), playerup2(         "pictures/sprites/player/up2.png"),  // npc sprites daddown("pictures/sprites/npc/dad/daddown.png"), dadright(         "pictures/sprites/npc/dad/dadright.png"), boyleft(         "pictures/sprites/npc/boy/boyleft.png"), boyright(         "pictures/sprites/npc/boy/boyright.png"), boyright1(         "pictures/sprites/npc/boy/boyright1.png"), boyright2(         "pictures/sprites/npc/boy/boyright2.png"), boyup(         "pictures/sprites/npc/boy/boyup.png"), boyup1(         "pictures/sprites/npc/boy/boyup1.png"), boyup2(         "pictures/sprites/npc/boy/boyup2.png"), dadup(         "pictures/sprites/npc/dad/dadup.png"), dadleft(         "pictures/sprites/npc/dad/dadleft.png"),  girldown("pictures/sprites/npc/girl/girldown.png"), girlright(         "pictures/sprites/npc/girl/girlright.png"), girlleft(         "pictures/sprites/npc/girl/girlleft.png"), gatedown(         "pictures/sprites/npc/gate/gatedown.png"), gateleft(         "pictures/sprites/npc/gate/gateleft.png"), gateleft1(         "pictures/sprites/npc/gate/gateleft1.png"), gateleft2(         "pictures/sprites/npc/gate/gateleft2.png"), gateright(         "pictures/sprites/npc/gate/gateright.png"), gateright1(         "pictures/sprites/npc/gate/gateright1.png"), gateright2(         "pictures/sprites/npc/gate/gateright2.png"), boydown(         "pictures/sprites/npc/boy/boydown.png"),  // npc effects exclamation("pictures/sprites/misc/exclamation.png"),  // maps (the background, base thing) exitium("pictures/maps/exitium.png"), route1("pictures/maps/route1.png"), house1top(         "pictures/maps/house1top.png"), house1bot(         "pictures/maps/house1bot.png"), miracleforest1(         "pictures/maps/miracleforest1.png"), miracleforest2(         "pictures/maps/miracleforest2.png"),  // map decorations (the stuff code on top of map!) house1overlay("pictures/sprites/structures/house1overlay.png"), house2overlay(         "pictures/sprites/structures/house2overlay.png"), house3overlay(         "pictures/sprites/structures/house3overlay.png"), house4overlay(         "pictures/sprites/structures/house4overlay.png"), lamppost(         "pictures/sprites/structures/lamppost.png"), mailbox(         "pictures/sprites/structures/mailbox.png"), mailbox2(         "pictures/sprites/structures/mailbox2.png"), columntrees(         "pictures/sprites/structures/columntrees.png"), sign(         "pictures/sprites/misc/sign.png"), greencolumntrees(         "pictures/sprites/structures/greencolumntrees.png"), greencolumntrees2(         "pictures/sprites/structures/greencolumntrees2.png"), greencolumntrees3(         "pictures/sprites/structures/greencolumntrees3.png"), forestentrance(         "pictures/sprites/structures/forestentrance.png"), greentreeoverlay(         "pictures/sprites/structures/greentreeoverlay.png"), leftentrance(         "pictures/sprites/structures/leftentrance.png"), rightentrance(         "pictures/sprites/structures/rightentrance.png"),  // gui things??? arrow("pictures/sprites/misc/arrow.png"), hand(         "pictures/sprites/misc/hand.png"), dialogbox(         "pictures/sprites/misc/dialogbox.png"), dialogbox2(         "pictures/sprites/misc/dialogbox2.png"), dialogbox3(         "pictures/sprites/misc/dialogbox3.png"), dialogbox4(         "pictures/sprites/misc/dialogbox4.png"),  // dont know mainbattleback("pictures/sprites/battle/battlestart/mainbattleback.png"), vs2(         "pictures/sprites/battle/battlestart/vs2.png"), mainhead(         "pictures/sprites/battle/battlestart/mainhead.png"),  // battle menu gui things?? greenbackground("pictures/sprites/battle/battlemenu/greenbackground.png"), battlemenu2(         "pictures/sprites/battle/battlemenu/battlemenu2.png"), hpbarally(         "pictures/sprites/battle/battlemenu/hpbarally.png"), hpbarenemy(         "pictures/sprites/battle/battlemenu/hpbarenemy.png"), movemenu2(         "pictures/sprites/battle/battlemenu/movemenu2.png"),  // natalie natalie("pictures/menu/npc/natalie.png"), nataliehead(         "pictures/sprites/battle/battlestart/nataliehead.png"), nataliebattleback(         "pictures/sprites/battle/battlestart/nataliebattleback.png"),  // flashing playerflashnormal(         "pictures/sprites/battle/battlestart/player_flash_normal.gif"), opponentflashnormal(         "pictures/sprites/battle/battlestart/opponent_flash_normal.gif"),  // throwing animation mainthrow("pictures/sprites/player/mainthrow.png"), mainthrow1(         "pictures/sprites/player/mainthrow1.png"), mainthrow2(         "pictures/sprites/player/mainthrow2.png"),  // attack effects tackle("pictures/sprites/battle/attacks/tackle.png"), blackback(         "pictures/sprites/battle/attacks/blackback.png"), growl(         "pictures/sprites/battle/attacks/growl.png"), leer(         "pictures/sprites/battle/attacks/leer.png"),  // pokemons cosmet("pictures/sprites/pokemon/cosmet.png"), cosmetb(         "pictures/sprites/pokemonb/cosmetb.png"), cosmetstart(         "pictures/menu/starters/cosmetstart.png"),  tykepol("pictures/sprites/pokemon/tykepol.png"), tykepolb(         "pictures/sprites/pokemonb/tykepolb.png"), tykepolstart(         "pictures/menu/starters/tykepolstart.png"),  embite("pictures/sprites/pokemon/embite.png"), embiteb(         "pictures/sprites/pokemonb/embiteb.png"), embitestart(         "pictures/menu/starters/embitestart.png"),  // balls pokeball("pictures/sprites/misc/pokeball.png"), pokeball4(         "pictures/sprites/misc/pokeball4.gif"),  // outlines outline1("pictures/sprites/battle/battlemenu/outline1.png"), outline2(         "pictures/sprites/battle/battlemenu/outline2.png"), outline3(         "pictures/sprites/battle/battlemenu/outline3.png"), outline4(         "pictures/sprites/battle/battlemenu/outline4.png");  private string filepath; private image image; private boolean imageloaded;  private images(string imagepath) {     filepath = imagepath;     imageloaded = false;  }  public image getimage() {     if (!imageloaded) {         loadimage();     }     return image;  }  public void loadimage() {     try {         image = imageio.read(new file(filepath));     } catch (ioexception e) {         system.err.println("failed load image!");         e.printstacktrace();     }     imageloaded = true; } 

how depend on want achieve.

if want prevent need replace path in multiple places should change, using string constants reasonable idea.

something like...

public interface pathconstants {      protected static final string sprites_path = "pictures/sprites";     protected static final string sprites_misc_path = sprites_path + "/misc";     protected static final string pokemon_sprites_path = sprites_path + "/pokemon";     protected static final string pokemonb_sprites_path = sprites_path + "/pokemonb";     protected static final string starters_menu_path = "pictures/menu/starters";     protected static final string sprites_battle_path = sprites_path + "/battle";     protected static final string menu_battle_path = sprites_battle_path + "/battlemenu";  } 

then should able like...

public enum images {     cosmet(pathconstants.sprites_path + "/cosmet.png"), cosmetb(            pathconstants.pokemonb_sprites_path + "/cosmetb.png"), cosmetstart(            pathconstants.starters_menu_path + "/cosmetstart.png"),      tykepol(pathconstants.pokemon_sprites_path + "/tykepol.png"), tykepolb(             pathconstants.pokemonb_sprites_path + "/tykepolb.png"), tykepolstart(             pathconstants.starters_menu_path + "/tykepolstart.png"),      embite(pathconstants.pokemon_sprites_path + "/embite.png"), embiteb(            pathconstants.pokemonb_sprites_path + "/embiteb.png"), embitestart(            pathconstants.starters_menu_path + "/embitestart.png"),      // balls     pokeball(pathconstants.sprites_misc_path + "/pokeball.png"), pokeball4(              pathconstants.sprites_misc_path + "/pokeball4.gif"),      // outlines     outline1(pathconstants.menu_battle_path + "/outline1.png"), outline2(              pathconstants.menu_battle_path + "/outline2.png"), outline3(              pathconstants.menu_battle_path + "/outline3.png"), outline4(              pathconstants.menu_battle_path + "/outline4.png"); 

for example.

this means if sprites_path changes, need change 1 place , recompile.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -