public void nextPanel(TowerDefense_TransData t) { removeAll(); TowerDefenseDataBase d = new TowerDefenseDataBase(); d.init(); for (Integer i = 0; i < t.getSize(); ++i) { String temp = d.searchImage( t.TowerDefense_TransArray[i].getId(), t.TowerDefense_TransArray[i].getAction()); PokemonButton b = new PokemonButton(temp, temp, t.TowerDefense_TransArray[i].getId()); b.addActionListener( new PokemonButtonListener( t.TowerDefense_TransArray[i].getId(), t.TowerDefense_TransArray[i].getLife())); b.setBounds( t.TowerDefense_TransArray[i].getX() - 14, t.TowerDefense_TransArray[i].getY() - 21, MainFrame.ButtonSize, MainFrame.ButtonSize); add(b); Units obj = d.searchUnit(t.TowerDefense_TransArray[i].getId()); Integer LifeRatio = 10 * t.TowerDefense_TransArray[i].getLife() / obj.MaxHP; JLabel LifeBar = new JLabel(new ImageIcon("res/HP/blood-" + LifeRatio.toString() + ".png")); LifeBar.setBounds( t.TowerDefense_TransArray[i].getX() - 14, t.TowerDefense_TransArray[i].getY() - 28, 20, 3); add(LifeBar); if (InfoShown && t.TowerDefense_TransArray[i].getId() == InfoID) { if (t.TowerDefense_TransArray[i].getLife() <= 0) InfoShown = false; pp.displayInfo(InfoID, t.TowerDefense_TransArray[i].getLife()); } } if (!InfoShown) { pp.refreshInfo(); } for (Integer i = 0; i < t.getSize(); ++i) { Units obj = d.searchUnit(t.TowerDefense_TransArray[i].getId()); Integer LifeRatio = (int) Math.ceil(10 * t.TowerDefense_TransArray[i].getLife() / obj.MaxHP); JLabel LifeBar = new JLabel(new ImageIcon("res/HP/blood-" + LifeRatio.toString() + ".png")); LifeBar.setBounds( t.TowerDefense_TransArray[i].getX() - 14, t.TowerDefense_TransArray[i].getY() - 28, 20, 3); add(LifeBar); } repaint(); }