01: package net.ar.webonswing.tutorial;
02:
03: import java.awt.*;
04: import java.awt.event.*;
05:
06: import javax.swing.*;
07:
08: import net.ar.webonswing.*;
09:
10: public class UserList extends JFrame {
11: public UserList() {
12: init();
13: }
14:
15: protected void init() {
16: JPanel usersPanel = new JPanel();
17: usersPanel.setName("usersPanel");
18: usersPanel.setLayout(new GridLayout(0, 1));
19:
20: for (int i = 0; i < User.users.length; i++) {
21: final User user = User.users[i];
22:
23: JButton button = new JButton(User.users[i].getLastName());
24: button.setName("button");
25: button.addActionListener(new ActionListener() {
26: public void actionPerformed(ActionEvent e) {
27: UserDetails newWindow = new UserDetails(user);
28: newWindow.setModal(true);
29: WosFramework.showAndExecute(UserList.this ,
30: newWindow, "processResult");
31: }
32: });
33:
34: usersPanel.add(button);
35: }
36:
37: JPanel contentPane = new JPanel();
38: contentPane.setName("contentPane");
39: setContentPane(contentPane);
40: contentPane.add(usersPanel);
41:
42: if (WosFramework.isActive())
43: contentPane.setLayout(WosFramework
44: .getPropagateTemplateLayoutByNameFor("UserList"));
45: }
46:
47: public void processResult(UserDetails userDetails) {
48: User user = userDetails.user;
49:
50: User.users[user.getId()].setFirstName(user.getFirstName());
51: User.users[user.getId()].setLastName(user.getLastName());
52: init();
53: }
54: }
|