示例#1
0
  public boolean updatePanel() {
    if (room == null) return false;

    jlRoomTitle.setText("Room #" + room.getRoomNumber());

    isStud.setSelected(room.isStudRoom());

    if (room.getChest() == null || room.getChest().chestIsEmpty()) {
      jrBooty[0].setSelected(true);
      tfChestGold.setEnabled(false);
      for (int i = 0; i < tfChestItems.length; i++) {
        tfChestItems[i].setEnabled(false);
        jbVerifyCItem[i].setEnabled(false);
        jbBrowseCItem[i].setEnabled(false);
      }
      cmbChestTrap.setEnabled(false);
      tfChestTrapLevel.setEnabled(false);
      isMagicLock.setEnabled(false);
    } else {
      Chest chest = room.getChest();
      if (chest.isBox()) jrBooty[1].setSelected(true);
      else jrBooty[2].setSelected(true);

      tfChestGold.setEnabled(true);
      for (int i = 0; i < tfChestItems.length; i++) {
        tfChestItems[i].setEnabled(true);
        jbVerifyCItem[i].setEnabled(true);
        jbBrowseCItem[i].setEnabled(true);
      }
      cmbChestTrap.setEnabled(true);
      tfChestTrapLevel.setEnabled(true);
      isMagicLock.setEnabled(true);

      ListIter<ItemInstance> iNode = chest.getItems().getIterator();
      int count = 0;
      while (iNode.next()) {
        if (iNode.element() != null)
          tfChestItems[count].setText(iNode.element().getItem().getName());
        else tfChestItems[count].setText("");

        count++;
      }

      tfChestGold.setText("" + chest.getGold());
      cmbChestTrap.setSelectedIndex(chest.getTrapType().value());
      tfChestTrapLevel.setText("" + chest.getLockLevel());
    }

    if (room.getItem() != null) tfRoomItem.setText(room.getItem().getItem().getName());
    else {
      tfRoomItem.setText("");
    }

    cmbPlayersHere.setModel(new DefaultComboBoxModel(room.getPlayerNamesHere()));

    for (byte i = 0; i < Util.MON_MAXSTACKSIZE; i++) {
      Monster tMon = dataBank.getMonsterEden().getMonster(room.getLairedMonsterID(i));
      if (tMon != null) tfLairedMonsterName[i].setText(tMon.getName());
      else tfLairedMonsterName[i].setText("");
    }

    // Update the monsters
    ListIter<LinkedList<MonsterInstance>> mNode = room.getMonsterStacks().getIterator();
    for (byte i = 0; i < tfMonsters.length; i++) {
      if (mNode.next()) {
        tfMonsters[i].setText(mNode.element().getFirst().getMonster().getName());
        tfMonsterCounts[i].setText("" + mNode.element().getSize());
      } else {
        tfMonsters[i].setText("");
        tfMonsterCounts[i].setText("");
      }
    }

    for (MonsterClass mc : MonsterClass.values())
      monsterTypes[mc.value()].setSelected(room.isMonsterTypeAllowed(mc));

    return true;
  }