-
Notifications
You must be signed in to change notification settings - Fork 4
/
ItemView.java
70 lines (59 loc) · 1.42 KB
/
ItemView.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
Written 1999 by Douglas Greiman.
This software may be used and distributed according to the terms
of the GNU Public License, incorporated herein by reference.
*/
package duggelz.jape;
import java.awt.*;
import java.awt.event.*;
public class ItemView extends Button
{
// Static data
public static final int MAX_LENGTH = 16;
public static final String none = " None ";
public static final String unknown = " Unknown ";
// Instance data
public int index;
public Item item;
// Instance methods
public ItemView(int index)
{
super(none);
this.index = index;
}
public int getIndex() { return this.index; }
public void setActor(Mercenary merc)
{
// Get the item from the merc
if( merc != null )
{
this.item = merc.items[this.index];
} else {
this.item = null;
}
// Redisplay button
this.refresh();
}
public void refresh()
{
// Get name of item exemplar
String name;
if( this.item != null )
{
ItemExemplar exemplar = item.getExemplar();
if( exemplar != null )
{
name = item.getExemplar().name;
if( name.length() > MAX_LENGTH ) {
name = name.substring(0, MAX_LENGTH);
}
} else {
name = this.unknown;
}
} else {
name = this.none;
}
// Set button label
this.setLabel(name);
}
}