ItemEditor.notifyItemDataListeners(new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, i, i));
    private void saveItemInfo(int i)    //puts the changed info into the Item    // object    {        if (i < 0)            return;        //        char[] tfName = this.name.getText().toCharArray();        //        for (int j = 0; j < items[i].name.length; j++)        //        {        //            items[i].name[j] = (j < tfName.length ? tfName[j] : (char) 0);        //        }        items[i].name = this.name.getText();        ItemEditor.notifyItemDataListeners(new ListDataEvent(this,            ListDataEvent.CONTENTS_CHANGED, i, i));        items[i].effect = this.effectSelector.getSelectedIndex() & 0xffff;        items[i].cost = numberize(this.cost.getText()) & 0xffff;        items[i].type = numberize(typeSel.getSelectedItem().toString()) & 0xff;        items[i].strength = numberize(strength.getText()) & 0xff;        items[i].extraPower = numberize(this.extraPower.getText()) & 0xff;        items[i].increase = numberize(this.epIncrease.getText()) & 0xff;        items[i].specialProperties = numberize(this.special.getText()) & 0xff;        items[i].descAddress = this.helpAdd.getOffset();        items[i].ownership = 0;        items[i].ownership += (this.ness.isSelected() ? 1 : 0) << 0;        items[i].ownership += (this.paula.isSelected() ? 1 : 0) << 1;        items[i].ownership += (this.jeff.isSelected() ? 1 : 0) << 2;        items[i].ownership += (this.poo.isSelected() ? 1 : 0) << 3;        items[i].ownership += (this.chicken.isSelected() ? 1 : 0) << 4;        items[i].ownership += (this.noGive.isSelected() ? 1 : 0) << 5;        items[i].ownership += (this.unknown.isSelected() ? 1 : 0) << 6;        items[i].ownership += (!this.infinite.isSelected() ? 1 : 0) << 7;        items[i].writeInfo();    }