/
RoleButtons.java
91 lines (71 loc) · 1.93 KB
/
RoleButtons.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class RoleButtons implements ActionListener{
private LinkedList<ButtonCreator> roles;
private int level;
public RoleButtons(){
roles = new LinkedList<ButtonCreator>();
level = -1;
}
public void setLevel(int level){ this.level = level; }
public void clearButtons(){ roles.clear(); }
public int numButtons(){ return roles.size(); }
public void releaseRoles(){ roles = new LinkedList<ButtonCreator>(); }
public LinkedList<JButton> getButtons(){
LinkedList<JButton> JRole = new LinkedList<JButton>();
for(int i = 0; i < roles.size(); i++){
JRole.add(roles.get(i).getJButton());
}
return JRole;
}
public void addButtons(LinkedList<Work> work){
for(int i = 0; i < work.size(); i++){
createRoleButton(work.get(i), i);
}
}
private String switchType(String type){
switch(type){
case "MAIN":
return "ACTOR - Celebrity";
case "EXTRA":
return "ACTOR - Extra";
default:
return "Unemployed";
}
}
private void createRoleButton(Work w, int ID){
ButtonCreator actor = new ButtonCreator(w.getJobTitle());
actor.createTwoLineButton(switchType(w.getWorkType()),Integer.toString(w.getWorkLevel()));
actor.setVisibility(false);
actor.setCommand(Integer.toString(ID));
actor.setStatus(false);
if(!w.getWorkStatus() && level >= w.getWorkLevel()){
actor.setStatus(true);
}
/*if(w.getWorkType().equals("MAIN")){
//add celebrity icon next to button
}*/
actor.changeSize(200,100);
roles.add(actor);
}
public int getID(String name){
int curr = 0;
while(curr != roles.size() && !name.equals(roles.get(curr).getName())){
curr++;
}
if(curr == roles.size()){
return -1;
}else{
return curr;
}
}
public void display(boolean v){
for(int i = 0; i < roles.size(); i++){
roles.get(i).setVisibility(v);
}
}
public void actionPerformed(ActionEvent e) {
}
}