Java Reference
In-Depth Information
12. TaskSelectorPanel select = new TaskSelectorPanel(observable);
13. TaskHistoryPanel history = new TaskHistoryPanel();
14. TaskEditorPanel edit = new TaskEditorPanel(observable);
15. observable.addTaskChangeObserver(select);
16. observable.addTaskChangeObserver(history);
17. observable.addTaskChangeObserver(edit);
18. observable.addTask(new Task());
19. content.add(select);
20. content.add(history);
21. content.add(edit);
22. mainFrame.addWindowListener(new WindowCloseManager());
23. mainFrame.pack();
24. mainFrame.setVisible(true);
25. }
26.
27. private class WindowCloseManager extends WindowAdapter{
28. public void windowClosing(WindowEvent evt){
29. System.exit(0);
30. }
31. }
32. }
Example 2.35 TaskEditorPanel.java
1. import java.awt.BorderLayout;
2. import javax.swing.JPanel;
3. import javax.swing.JLabel;
4. import javax.swing.JTextField;
5. import javax.swing.JButton;
6. import java.awt.event.ActionEvent;
7. import java.awt.event.ActionListener;
8. import java.awt.GridLayout;
9. public class TaskEditorPanel extends JPanel implements ActionListener, TaskChangeObserver{
10. private JPanel controlPanel, editPanel;
11. private JButton add, update, exit;
12. private JTextField taskName, taskNotes, taskTime;
13. private TaskChangeObservable notifier;
14. private Task editTask;
15.
16. public TaskEditorPanel(TaskChangeObservable newNotifier){
17. notifier = newNotifier;
18. createGui();
19. }
20. public void createGui(){
21. setLayout(new BorderLayout());
22. editPanel = new JPanel();
23. editPanel.setLayout(new GridLayout(3, 2));
24. taskName = new JTextField(20);
25. taskNotes = new JTextField(20);
26. taskTime = new JTextField(20);
27. editPanel.add(new JLabel("Task Name"));
28. editPanel.add(taskName);
29. editPanel.add(new JLabel("Task Notes"));
30. editPanel.add(taskNotes);
31. editPanel.add(new JLabel("Time Required"));
32. editPanel.add(taskTime);
33.
34. controlPanel = new JPanel();
35. add = new JButton("Add Task");
36. update = new JButton("Update Task");
37. exit = new JButton("Exit");
38. controlPanel.add(add);
39. controlPanel.add(update);
40. controlPanel.add(exit);
41. add.addActionListener(this);
42. update.addActionListener(this);
43. exit.addActionListener(this);
44. add(controlPanel, BorderLayout.SOUTH);
45. add(editPanel, BorderLayout.CENTER);
46. }
47. public void setTaskChangeObservable(TaskChangeObservable newNotifier){
48. notifier = newNotifier;
49. }
50. public void actionPerformed(ActionEvent event){
51. Object source = event.getSource();
52. if (source == add){
53. double timeRequired = 0.0;
54. try{
Search WWH ::




Custom Search