blob: 6273e03a5aa2c1867bdb36186de62521e646dc97 (
plain)
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
|
package gjt;
import java.awt.*;
/**
* ChoiceCardPanel is an extension of CardPanel which presents
* an awt.Choice for selecting the panel to be displayed
* in the center panel.<p>
*
* @version 1.0, Apr 1 1996
* @author David Geary
* @see CardPanel
* @see IconCardPanel
* @see gjt.test.IconCardPanelTest
* @see gjt.test.ChoiceCardPanelTest
*/
public class ChoiceCardPanel extends CardPanel {
private ChoiceViewSelector viewSelector;
public ChoiceCardPanel() {
viewSelector = new ChoiceViewSelector(this);
}
public Component viewSelector() {
return viewSelector;
}
public void addChoice(String name,
Component component) {
viewSelector.addItem(name);
super.addView(name, component);
}
}
class ChoiceViewSelector extends Panel {
private ChoiceCardPanel mvp;
private Choice choice;
public ChoiceViewSelector(ChoiceCardPanel panel) {
setLayout(new FlowLayout());
add(choice = new Choice());
mvp = panel;
}
public void addItem(String name) {
choice.addItem(name);
}
public boolean handleEvent(Event event) {
if(event.id == Event.ACTION_EVENT) {
if(event.target instanceof Choice) {
mvp.showView(choice.getSelectedItem());
}
}
return super.handleEvent(event);
}
}
|