/Users/johnr/Dropbox/johnrayworth.info/largeFilesOutsideJSR/__IB-Other/Other/IA-Solutions-2019/Haruto/Product/IA.ver2/src/ia/ver2/IAGUI.java |
1
2
3
4
5
6 package ia.ver2;
7 import javax.swing.JComboBox;
8 import javax.swing.JFrame;
9 import java.util.ArrayList;
10 import javax.swing.JButton;
11 import javax.swing.JOptionPane;
12 import javax.swing.JTextField;
13 import javax.swing.JPanel;
14 import java.awt.GridLayout;
15 import java.util.Arrays;
16 import javax.swing.JLabel;
17 import java.util.List;
18 import javax.swing.SortOrder;
19 import javax.swing.table.TableModel;
20 import javax.swing.table.TableRowSorter;
21 import javax.swing.RowSorter;
22
23
24
25 @author
26
27
28
29
30
31
32 public class IAGUI extends javax.swing.JFrame {
33
34
35
36
37
38 public IAGUI() {
39 initComponents();
40 Count();
41 myInit1();
42 }
43
44 public Stats[] stat = new Stats[50];
45 public Rank[] subStat = new Rank[30];
46 public Task[] taskArray = new Task[100];
47 public PersonInfo[] personArray = new PersonInfo[30];
48 public static final String LINE_SEPARATOR = System.getProperty("line.separator");
49
50 int counter = 0;
51 boolean count = false;
52 int countPpl = 0;
53
54 public void Count(){
55 if(counter > 1)
56 count = true;
57 else
58 count = false;
59 }
60
61 public void myInit1()
62 {
63 for(int i = 0; i < taskArray.length; i++){
64 taskArray[i] = new Task();
65 }
66 for(int j = 0; j < subStat.length; j++){
67 subStat[j] = new Rank();
68 }
69 for(int k1 = 0; k1 < stat.length; k1++){
70 stat[k1] = new Stats();
71 }
72 for(int l = 0; l < personArray.length; l++){
73 personArray[l] = new PersonInfo();
74 }
75 }
715
716 private void addPplBActionPerformed(java.awt.event.ActionEvent evt) {
717
718 JTextField nameTF = new JTextField("");
719 JTextField nickNameTF = new JTextField("");
720 JTextField ageTF = new JTextField("");
721 JPanel panel = new JPanel(new GridLayout (0, 1));
722 panel.add(new JLabel("Name:"));
723 panel.add(nameTF);
724 panel.add(new JLabel("Nickname:"));
725 panel.add(nickNameTF);
726 panel.add(new JLabel("Age:"));
727 panel.add(ageTF);
728 int result = JOptionPane.showConfirmDialog(null, panel, "People",
729 JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
730
731 if(result == JOptionPane.OK_OPTION){
732 if(nameTF.getText().length() < 1){
733 nameTF.setText(" ");
734 }
735 else if(nickNameTF.getText().length() > 15){
736 nickNameTF.setText(" ");
737 }
738 else if(Integer.parseInt(ageTF.getText()) > 120 || ageTF.getText().equals(" ")){
739 ageTF.setText(" ");
740 }
741 else if(nameTF.getText().length() > 2 && nickNameTF.getText().length() <= 15){
742 nameCB.addItem(nameTF.getText());
743 cnameCB.addItem(nameTF.getText());
744 personArray[countPpl] = new PersonInfo(nameTF.getText(), nickNameTF.getText(), ageTF.getText());
745 countPpl++;
746 }
747
748 }
749 else{
750
751 System.out.println("Cancelled");
752 }
753
754 }
755
756 private void addTasksBActionPerformed(java.awt.event.ActionEvent evt) {
757
758 JTextField taskTF = new JTextField("");
759 JTextField typeTF = new JTextField("");
760 JPanel panel = new JPanel(new GridLayout(0, 2));
761 panel.add(new JLabel("Task:"));
762 panel.add(taskTF);
763 panel.add(new JLabel("Task type:"));
764 panel.add(typeTF);
765 int result = JOptionPane.showConfirmDialog(null, panel, "Tasks",
766 JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
767 if(result == JOptionPane.OK_OPTION){
768 if(taskTF.getText().length() < 1 || taskTF.getText().length() > 25){
769 taskTF.setText(" ");
770 }
771 else{
772 taskCB.addItem(taskTF.getText());
773 ctaskCB.addItem(taskTF.getText());
774 }
775 }
776 else{
777 System.out.println("Cancelled");
778 }
779 }
780
781 private void taskCBActionPerformed(java.awt.event.ActionEvent evt) {
782
783
784 }
785
786 private void nameCBActionPerformed(java.awt.event.ActionEvent evt) {
787
788
789 }
790
791 private void enterBMouseReleased(java.awt.event.MouseEvent evt) {
792
793 Object date = dayCB.getSelectedItem() + "/" + monthCB.getSelectedItem() +
794 "/" + yearCB.getSelectedItem();
795 int row = counter;
796
797 taskT.setValueAt(nameCB.getSelectedItem(), row, 0);
798 taskT.setValueAt(date, row, 1);
799 taskT.setValueAt(taskCB.getSelectedItem(), row, 2);
800
801 taskArray[counter] = new Task(nameCB.getSelectedItem() + "", date + "",
802 taskCB.getSelectedItem() + "");
803
804 counter++;
805
806 }
807
808 private void filterBMouseReleased(java.awt.event.MouseEvent evt) {
809
810
811
812 for(int j = 0; j < counter; j++){
813
814 taskT.setValueAt(" ", j, 0);
815 taskT.setValueAt(" ", j, 1);
816 taskT.setValueAt(" ", j, 2);
817
818 }
819
820 int countComp = -1;
821
822
823
824
825 for(int i = 0; i < taskArray.length; i++){
826
827 if(taskArray[i].getPersonName().equals(filterTF.getText())){
828
829 countComp++;
830
831 taskT.setValueAt(taskArray[i].getPersonName(), countComp, 0);
832 taskT.setValueAt(taskArray[i].getDate(), countComp, 1);
833 taskT.setValueAt(taskArray[i].getTask(), countComp, 2);
834 }
835
836 else if(taskArray[i].getTask().equals(filterTF.getText())){
837 countComp++;
838
839 taskT.setValueAt(taskArray[i].getPersonName(), countComp, 0);
840 taskT.setValueAt(taskArray[i].getDate(), countComp, 1);
841 taskT.setValueAt(taskArray[i].getTask(), countComp, 2);
842 }
843
844
845 }
846
847
848
849
850 }
851
852 private void sortBMouseReleased(java.awt.event.MouseEvent evt) {
853
854
855
856 if(sortCB.getSelectedItem() == "Name"){
857 TableRowSorter<TableModel> sorter = new TableRowSorter<>(taskT.getModel());
858 taskT.setRowSorter(sorter);
859 List<RowSorter.SortKey> sortKeys = new ArrayList<>();
860
861 int columnIndexToSort = 0;
862 sortKeys.add(new RowSorter.SortKey(columnIndexToSort, SortOrder.DESCENDING));
863
864 sorter.setSortKeys(sortKeys);
865 sorter.sort();
866 }
867
868
869 if(sortCB.getSelectedItem() == "Task"){
870 TableRowSorter<TableModel> sorter = new TableRowSorter<>(taskT.getModel());
871 taskT.setRowSorter(sorter);
872 List<RowSorter.SortKey> sortKeys = new ArrayList<>();
873
874 int columnIndexToSort = 2;
875 sortKeys.add(new RowSorter.SortKey(columnIndexToSort, SortOrder.DESCENDING));
876
877 sorter.setSortKeys(sortKeys);
878 sorter.sort();
879 }
880
881 }
882
883 private void restoreBMouseReleased(java.awt.event.MouseEvent evt) {
884
885
886 for(int i = 0; i < counter; i++){
887 taskT.setValueAt(taskArray[i].getPersonName(), i, 0);
888 taskT.setValueAt(taskArray[i].getDate(), i, 1);
889 taskT.setValueAt(taskArray[i].getTask(), i, 2);
890 }
891 }
892
893 private void calcTBMouseReleased(java.awt.event.MouseEvent evt) {
894
895
896
897
898
899
900 for(int i = 0; i < stat.length; i++){
901 rankT.setValueAt(" ", i, 0);
902 rankT.setValueAt(" ", i, 1);
903 }
904
905 int counting = 0;
906
907
908 for(int i = 0; i < taskArray.length; i++){
909 if(ctaskCB.getSelectedItem().equals(taskArray[i].getTask())){
910 stat[counting].setName(taskArray[i].getPersonName());
911 counting++;
912 }
913 }
914
915
916 StatSort sort = new StatSort();
917 sort.sortForStat(stat);
918
919 int countPerson = 1;
920 int componentNum = 1;
921 int countRank = 0;
922
923
924 while(componentNum < cnameCB.getItemCount()){
925 for(int j = 1; j < stat.length; j++){
926 if(cnameCB.getItemAt(componentNum).equals(stat[j].getName())){
927 countPerson++;
928 }
929 }
930 subStat[countRank] = new Rank(cnameCB.getItemAt(componentNum), countPerson);
931 componentNum++;
932 countPerson = 0;
933 countRank++;
934 }
935
936
937 StatSort secondSort = new StatSort();
938 secondSort.sortRank(subStat, cnameCB.getItemCount());
939
940 int tableLength = 1;
941
942 for(int k = 0; k < cnameCB.getItemCount() - 1; k++){
943 rankT.setValueAt(tableLength, k, 0);
944 rankT.setValueAt(subStat[k].getRankObj(), k, 1);
945 tableLength++;
946 }
947
948
949 recomTF.setText(ctaskCB.getSelectedItem() + " should be done by " + subStat[0].getRankObj());
950
951 }
952
953 private void calcNBMouseReleased(java.awt.event.MouseEvent evt) {
954
955
956
957
958 for(int i = 0; i < stat.length; i++){
959 rankT.setValueAt(" ", i, 0);
960 rankT.setValueAt(" ", i, 1);
961 }
962
963 int count1 = 0;
964
965
966 for(int i = 0; i < taskArray.length; i++){
967 if(cnameCB.getSelectedItem().equals(taskArray[i].getPersonName())){
968 stat[count1].setName(taskArray[i].getTask());
969 count1++;
970 }
971
972 }
973
974
975 StatSort sort = new StatSort();
976 sort.sortForStat(stat);
977
978 int countTask = 1;
979 int componentNum = 0;
980 int rank = 0;
981 int countRank = 0;
982
983
984 while(componentNum < ctaskCB.getItemCount()){
985 for(int i = 0; i < stat.length; i++){
986 if(ctaskCB.getItemAt(componentNum).equals(stat[i].getName())){
987 countTask++;
988 }
989 }
990 rank = countTask;
991 subStat[countRank] = new Rank(ctaskCB.getItemAt(componentNum), rank);
992 componentNum++;
993 countTask = 0;
994 countRank++;
995 }
996
997
998 StatSort secondSort = new StatSort();
999 secondSort.sortRank(subStat, ctaskCB.getItemCount());
1000
1001 int tableLength = 1;
1002
1003 for(int k = 0; k < ctaskCB.getItemCount(); k++){
1004 rankT.setValueAt(tableLength, k, 0);
1005 rankT.setValueAt(subStat[k].getRankObj(), k, 1);
1006 tableLength++;
1007 }
1008
1009
1010 recomTF.setText(cnameCB.getSelectedItem().toString() + " should do " + subStat[0].getRankObj() + " for next task.");
1011 }
1012
1013 private void helpMouseReleased(java.awt.event.MouseEvent evt) {
1014
1015
1016 JFrame help = new JFrame();
1017 help.setLayout(null);
1018
1019 help.setBounds(130, 05, 400, 350);
1020
1021 JOptionPane.showMessageDialog(help, "Welcome to Familinage, the integrated manager of family." + LINE_SEPARATOR
1022 + "This system basically shows 'what your family members going to do', and 'who should do what' semi-automatically." + LINE_SEPARATOR
1023 + "Here's simple instruction how to use both functions fully." + LINE_SEPARATOR + " " + LINE_SEPARATOR
1024 + "1. ToDo list fundamentals" + LINE_SEPARATOR + " a. click on the 'Add people' button under the separator line." + LINE_SEPARATOR
1025 + " b. Type in 'Name', 'Nickname', and 'age' of the family members with correct location." + LINE_SEPARATOR
1026 + " c. After you clicked 'ok' button, click on the 'Add Tasks' button and type in all the information as did in procedure b." + LINE_SEPARATOR
1027 + " d. Now, all the information typed in are stored and shown in 'Name' and 'Task' combo box. Choose your name, date and task you need to do and click the 'Enter' button."
1028 + LINE_SEPARATOR + " e. You can now see your name, task, and date when you need to do that task!!" + LINE_SEPARATOR + " " + LINE_SEPARATOR
1029 + "2. Filter and Sorting" + LINE_SEPARATOR + " a. Choose 'Name' or 'Task' in combo box at the sort section under the 'Enter' button. Then click the Sort button, so ToDo list show up the sorted result of list."
1030 + LINE_SEPARATOR + " b. For filter, you can type in your finding objects either 'Name' or 'Task' so it shows the list of objects related to your typed object."
1031 + LINE_SEPARATOR + " c. Did you hit either button accidentally? No problem! You can get the original ToDo list by hitting 'Restore' button under the ToDo table." + LINE_SEPARATOR + " "
1032 + LINE_SEPARATOR + "3. Statistics" + LINE_SEPARATOR + " a. Choose either 'Task' or 'Name' that you want. (Components in combo box are automatically stored at the time you hitted the 'ok' button in the popup)"
1033 + LINE_SEPARATOR + " a - tips. You can choose either 'Task' or 'Name' based on context. If you want to have recommendation of 'Task', you should choose your 'Name' as input. So, basically choose opposite object for input."
1034 + LINE_SEPARATOR + " b. After you clicked either 'Calculate tasks' or 'Calcualte Name', table shows the ranking of the object you seeked, and 'Recommendation' shows specific recommendation sentence."
1035 + LINE_SEPARATOR + " " + LINE_SEPARATOR +"Hope these instructions helped you. Have a good, healthy life balance by using Familinage! by creator.");
1036 }
1037
1038 private void getInfoBMouseReleased(java.awt.event.MouseEvent evt) {
1039
1040
1041 for(int i = 0; i < countPpl; i++){
1042 infoT.setValueAt(personArray[i].getPerson(), i, 0);
1043 infoT.setValueAt(personArray[i].getNickName(), i, 1);
1044 infoT.setValueAt(personArray[i].getAge(), i, 2);
1045 }
1046 }
1047
1048
1049 @param args
1050
1051 public static void main(String args[]) {
1052
1053
1054
1055
1056
1057 try {
1058 for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
1059 if ("Nimbus".equals(info.getName())) {
1060 javax.swing.UIManager.setLookAndFeel(info.getClassName());
1061 break;
1062 }
1063 }
1064 } catch (ClassNotFoundException ex) {
1065 java.util.logging.Logger.getLogger(IAGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1066 } catch (InstantiationException ex) {
1067 java.util.logging.Logger.getLogger(IAGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1068 } catch (IllegalAccessException ex) {
1069 java.util.logging.Logger.getLogger(IAGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1070 } catch (javax.swing.UnsupportedLookAndFeelException ex) {
1071 java.util.logging.Logger.getLogger(IAGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1072 }
1073
1074
1075
1076
1077 java.awt.EventQueue.invokeLater(new Runnable() {
1078 public void run() {
1079 new IAGUI().setVisible(true);
1080 }
1081 });
1082
1083
1084 }
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
76
77 This method is called from within the constructor to initialize the form.
78
79
80
81 @SuppressWarnings("unchecked")
82 // <editor-fold defaultstate="collapsed" desc="Generated Code">
83 private void initComponents() {
84
85 jTabbedPane1 = new javax.swing.JTabbedPane();
86 central_UI = new javax.swing.JPanel();
87 jScrollPane1 = new javax.swing.JScrollPane();
88 taskT = new javax.swing.JTable();
89 nameL = new javax.swing.JLabel();
90 taskL = new javax.swing.JLabel();
91 enterB = new javax.swing.JButton();
92 dateL = new javax.swing.JLabel();
93 centralSep = new javax.swing.JSeparator();
94 sortL = new javax.swing.JLabel();
95 sortCB = new javax.swing.JComboBox<>();
96 FilterL = new javax.swing.JLabel();
97 filterTF = new javax.swing.JTextField();
98 peopleL = new javax.swing.JLabel();
99 addPplB = new javax.swing.JButton();
100 tasksL = new javax.swing.JLabel();
101 addTasksB = new javax.swing.JButton();
102 nameCB = new javax.swing.JComboBox<>();
103 taskCB = new javax.swing.JComboBox<>();
104 dayCB = new javax.swing.JComboBox<>();
105 monthCB = new javax.swing.JComboBox<>();
106 yearCB = new javax.swing.JComboBox<>();
107 sortB = new javax.swing.JButton();
108 filterB = new javax.swing.JButton();
109 restoreB = new javax.swing.JButton();
110 stats = new javax.swing.JPanel();
111 ctaskL = new javax.swing.JLabel();
112 ctaskCB = new javax.swing.JComboBox<>();
113 jScrollPane2 = new javax.swing.JScrollPane();
114 rankT = new javax.swing.JTable();
115 calcTB = new javax.swing.JButton();
116 cnameL = new javax.swing.JLabel();
117 cnameCB = new javax.swing.JComboBox<>();
118 calcNB = new javax.swing.JButton();
119 rankL = new javax.swing.JLabel();
120 recomTF = new javax.swing.JTextField();
121 recomL = new javax.swing.JLabel();
122 getInfoB = new javax.swing.JButton();
123 jScrollPane3 = new javax.swing.JScrollPane();
124 infoT = new javax.swing.JTable();
125 getInfoL = new javax.swing.JLabel();
126 familyInfoL = new javax.swing.JLabel();
127 jMenuBar1 = new javax.swing.JMenuBar();
128 jMenu1 = new javax.swing.JMenu();
129 jMenu2 = new javax.swing.JMenu();
130 help = new javax.swing.JMenu();
131
132 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
133
134 taskT.setModel(new javax.swing.table.DefaultTableModel(
135 new Object [][] {
136 {null, null, null},
137 {null, null, null},
138 {null, null, null},
139 {null, null, null},
140 {null, null, null},
141 {null, null, null},
142 {null, null, null},
143 {null, null, null},
144 {null, null, null},
145 {null, null, null},
146 {null, null, null},
147 {null, null, null},
148 {null, null, null},
149 {null, null, null},
150 {null, null, null},
151 {null, null, null},
152 {null, null, null},
153 {null, null, null},
154 {null, null, null},
155 {null, null, null},
156 {null, null, null},
157 {null, null, null},
158 {null, null, null},
159 {null, null, null},
160 {null, null, null},
161 {null, null, null},
162 {null, null, null},
163 {null, null, null},
164 {null, null, null},
165 {null, null, null},
166 {null, null, null},
167 {null, null, null},
168 {null, null, null},
169 {null, null, null},
170 {null, null, null},
171 {null, null, null},
172 {null, null, null},
173 {null, null, null},
174 {null, null, null},
175 {null, null, null},
176 {null, null, null},
177 {null, null, null},
178 {null, null, null},
179 {null, null, null},
180 {null, null, null},
181 {null, null, null},
182 {null, null, null},
183 {null, null, null},
184 {null, null, null},
185 {null, null, null},
186 {null, null, null},
187 {null, null, null},
188 {null, null, null},
189 {null, null, null},
190 {null, null, null},
191 {null, null, null},
192 {null, null, null},
193 {null, null, null},
194 {null, null, null},
195 {null, null, null},
196 {null, null, null},
197 {null, null, null},
198 {null, null, null},
199 {null, null, null},
200 {null, null, null},
201 {null, null, null},
202 {null, null, null},
203 {null, null, null},
204 {null, null, null},
205 {null, null, null},
206 {null, null, null},
207 {null, null, null},
208 {null, null, null},
209 {null, null, null},
210 {null, null, null},
211 {null, null, null},
212 {null, null, null},
213 {null, null, null},
214 {null, null, null},
215 {null, null, null},
216 {null, null, null},
217 {null, null, null},
218 {null, null, null},
219 {null, null, null},
220 {null, null, null},
221 {null, null, null},
222 {null, null, null},
223 {null, null, null},
224 {null, null, null},
225 {null, null, null},
226 {null, null, null},
227 {null, null, null},
228 {null, null, null},
229 {null, null, null},
230 {null, null, null},
231 {null, null, null},
232 {null, null, null},
233 {null, null, null},
234 {null, null, null},
235 {null, null, null}
236 },
237 new String [] {
238 "Name", "Date", "Tasks"
239 }
240 ));
241 jScrollPane1.setViewportView(taskT);
242
243 nameL.setText("Name:");
244
245 taskL.setText("Task:");
246
247 enterB.setText("Enter");
248 enterB.addMouseListener(new java.awt.event.MouseAdapter() {
249 public void mouseReleased(java.awt.event.MouseEvent evt) {
250 enterBMouseReleased(evt);
251 }
252 });
253 enterB.addActionListener(new java.awt.event.ActionListener() {
254 public void actionPerformed(java.awt.event.ActionEvent evt) {
255 enterBActionPerformed(evt);
256 }
257 });
258
259 dateL.setText("Date:");
260
261 centralSep.setForeground(new java.awt.Color(0, 0, 0));
262
263 sortL.setText("Sort by:");
264
265 sortCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Name", "Task" }));
266
267 FilterL.setText("Filter :");
268
269 peopleL.setText("Add people:");
270
271 addPplB.setText("Add people");
272 addPplB.addActionListener(new java.awt.event.ActionListener() {
273 public void actionPerformed(java.awt.event.ActionEvent evt) {
274 addPplBActionPerformed(evt);
275 }
276 });
277
278 tasksL.setText("Add Tasks: ");
279
280 addTasksB.setText("Add Tasks ");
281 addTasksB.addActionListener(new java.awt.event.ActionListener() {
282 public void actionPerformed(java.awt.event.ActionEvent evt) {
283 addTasksBActionPerformed(evt);
284 }
285 });
286
287 nameCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { " " }));
288 nameCB.setSelectedIndex(-1);
289 nameCB.addActionListener(new java.awt.event.ActionListener() {
290 public void actionPerformed(java.awt.event.ActionEvent evt) {
291 nameCBActionPerformed(evt);
292 }
293 });
294
295 taskCB.addActionListener(new java.awt.event.ActionListener() {
296 public void actionPerformed(java.awt.event.ActionEvent evt) {
297 taskCBActionPerformed(evt);
298 }
299 });
300
301 dayCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "DD", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }));
302
303 monthCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "MM", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12" }));
304
305 yearCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "YYYY", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026", "2027", "2028", "2029", "2030" }));
306
307 sortB.setText("Sort");
308 sortB.addMouseListener(new java.awt.event.MouseAdapter() {
309 public void mouseReleased(java.awt.event.MouseEvent evt) {
310 sortBMouseReleased(evt);
311 }
312 });
313
314 filterB.setText("Filter");
315 filterB.addMouseListener(new java.awt.event.MouseAdapter() {
316 public void mouseReleased(java.awt.event.MouseEvent evt) {
317 filterBMouseReleased(evt);
318 }
319 });
320
321 restoreB.setText("Restore");
322 restoreB.addMouseListener(new java.awt.event.MouseAdapter() {
323 public void mouseReleased(java.awt.event.MouseEvent evt) {
324 restoreBMouseReleased(evt);
325 }
326 });
327
328 javax.swing.GroupLayout central_UILayout = new javax.swing.GroupLayout(central_UI);
329 central_UI.setLayout(central_UILayout);
330 central_UILayout.setHorizontalGroup(
331 central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
332 .addGroup(central_UILayout.createSequentialGroup()
333 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 466, javax.swing.GroupLayout.PREFERRED_SIZE)
334 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
335 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
336 .addGroup(central_UILayout.createSequentialGroup()
337 .addGap(0, 0, Short.MAX_VALUE)
338 .addComponent(enterB))
339 .addComponent(centralSep)
340 .addGroup(central_UILayout.createSequentialGroup()
341 .addComponent(taskL)
342 .addGap(18, 18, 18)
343 .addComponent(taskCB, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
344 .addGroup(central_UILayout.createSequentialGroup()
345 .addComponent(sortL)
346 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
347 .addComponent(sortCB, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE)
348 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
349 .addComponent(sortB))
350 .addGroup(central_UILayout.createSequentialGroup()
351 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
352 .addGroup(central_UILayout.createSequentialGroup()
353 .addComponent(peopleL)
354 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
355 .addComponent(addPplB))
356 .addGroup(central_UILayout.createSequentialGroup()
357 .addComponent(tasksL)
358 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
359 .addComponent(addTasksB))
360 .addGroup(central_UILayout.createSequentialGroup()
361 .addComponent(nameL)
362 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
363 .addComponent(nameCB, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE))
364 .addGroup(central_UILayout.createSequentialGroup()
365 .addComponent(dateL)
366 .addGap(18, 18, 18)
367 .addComponent(dayCB, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
368 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
369 .addComponent(monthCB, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
370 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
371 .addComponent(yearCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
372 .addGap(0, 0, Short.MAX_VALUE))
373 .addGroup(central_UILayout.createSequentialGroup()
374 .addComponent(FilterL)
375 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
376 .addComponent(filterTF, javax.swing.GroupLayout.PREFERRED_SIZE, 201, javax.swing.GroupLayout.PREFERRED_SIZE)
377 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 25, Short.MAX_VALUE)
378 .addComponent(filterB)))
379 .addContainerGap())
380 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, central_UILayout.createSequentialGroup()
381 .addGap(0, 0, Short.MAX_VALUE)
382 .addComponent(restoreB)
383 .addGap(352, 352, 352))
384 );
385 central_UILayout.setVerticalGroup(
386 central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
387 .addGroup(central_UILayout.createSequentialGroup()
388 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
389 .addGroup(central_UILayout.createSequentialGroup()
390 .addGap(6, 6, 6)
391 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
392 .addComponent(nameL)
393 .addComponent(nameCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
394 .addGap(31, 31, 31)
395 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
396 .addComponent(dateL)
397 .addComponent(dayCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
398 .addComponent(monthCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
399 .addComponent(yearCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
400 .addGap(36, 36, 36)
401 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
402 .addComponent(taskL)
403 .addComponent(taskCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
404 .addGap(21, 21, 21)
405 .addComponent(enterB)
406 .addGap(15, 15, 15)
407 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
408 .addComponent(sortL)
409 .addComponent(sortCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
410 .addComponent(sortB))
411 .addGap(26, 26, 26)
412 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
413 .addComponent(FilterL)
414 .addComponent(filterTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
415 .addComponent(filterB))
416 .addGap(18, 18, 18)
417 .addComponent(centralSep, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
418 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
419 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
420 .addComponent(peopleL)
421 .addComponent(addPplB))
422 .addGap(18, 18, 18)
423 .addGroup(central_UILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
424 .addComponent(tasksL)
425 .addComponent(addTasksB)))
426 .addGroup(central_UILayout.createSequentialGroup()
427 .addContainerGap()
428 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 438, javax.swing.GroupLayout.PREFERRED_SIZE)))
429 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
430 .addComponent(restoreB)
431 .addContainerGap())
432 );
433
434 jTabbedPane1.addTab("Central UI", central_UI);
435
436 ctaskL.setText("Choose tasks:");
437
438 rankT.setModel(new javax.swing.table.DefaultTableModel(
439 new Object [][] {
440 {null, null},
441 {null, null},
442 {null, null},
443 {null, null},
444 {null, null},
445 {null, null},
446 {null, null},
447 {null, null},
448 {null, null},
449 {null, null},
450 {null, null},
451 {null, null},
452 {null, null},
453 {null, null},
454 {null, null},
455 {null, null},
456 {null, null},
457 {null, null},
458 {null, null},
459 {null, null},
460 {null, null},
461 {null, null},
462 {null, null},
463 {null, null},
464 {null, null},
465 {null, null},
466 {null, null},
467 {null, null},
468 {null, null},
469 {null, null},
470 {null, null},
471 {null, null},
472 {null, null},
473 {null, null},
474 {null, null},
475 {null, null},
476 {null, null},
477 {null, null},
478 {null, null},
479 {null, null},
480 {null, null},
481 {null, null},
482 {null, null},
483 {null, null},
484 {null, null},
485 {null, null},
486 {null, null},
487 {null, null},
488 {null, null},
489 {null, null}
490 },
491 new String [] {
492 "Rank", "Object"
493 }
494 ));
495 jScrollPane2.setViewportView(rankT);
496
497 calcTB.setText("Calculate tasks");
498 calcTB.addMouseListener(new java.awt.event.MouseAdapter() {
499 public void mouseReleased(java.awt.event.MouseEvent evt) {
500 calcTBMouseReleased(evt);
501 }
502 });
503 calcTB.addActionListener(new java.awt.event.ActionListener() {
504 public void actionPerformed(java.awt.event.ActionEvent evt) {
505 calcTBActionPerformed(evt);
506 }
507 });
508
509 cnameL.setText("Choose name: ");
510
511 cnameCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { " " }));
512
513 calcNB.setText("Calculate Name");
514 calcNB.addMouseListener(new java.awt.event.MouseAdapter() {
515 public void mouseReleased(java.awt.event.MouseEvent evt) {
516 calcNBMouseReleased(evt);
517 }
518 });
519 calcNB.addActionListener(new java.awt.event.ActionListener() {
520 public void actionPerformed(java.awt.event.ActionEvent evt) {
521 calcNBActionPerformed(evt);
522 }
523 });
524
525 rankL.setText("Recommendation ranking:");
526
527 recomTF.addActionListener(new java.awt.event.ActionListener() {
528 public void actionPerformed(java.awt.event.ActionEvent evt) {
529 recomTFActionPerformed(evt);
530 }
531 });
532
533 recomL.setText("↓Recommendation↓:");
534
535 getInfoB.setText("Get");
536 getInfoB.addMouseListener(new java.awt.event.MouseAdapter() {
537 public void mouseReleased(java.awt.event.MouseEvent evt) {
538 getInfoBMouseReleased(evt);
539 }
540 });
541
542 infoT.setModel(new javax.swing.table.DefaultTableModel(
543 new Object [][] {
544 {null, null, null},
545 {null, null, null},
546 {null, null, null},
547 {null, null, null},
548 {null, null, null},
549 {null, null, null},
550 {null, null, null},
551 {null, null, null},
552 {null, null, null},
553 {null, null, null},
554 {null, null, null},
555 {null, null, null},
556 {null, null, null},
557 {null, null, null},
558 {null, null, null},
559 {null, null, null},
560 {null, null, null},
561 {null, null, null},
562 {null, null, null},
563 {null, null, null},
564 {null, null, null},
565 {null, null, null},
566 {null, null, null},
567 {null, null, null},
568 {null, null, null},
569 {null, null, null},
570 {null, null, null},
571 {null, null, null},
572 {null, null, null},
573 {null, null, null}
574 },
575 new String [] {
576 "Name", "Nickname", "Age"
577 }
578 ));
579 jScrollPane3.setViewportView(infoT);
580
581 getInfoL.setText("Get family member information:");
582
583 familyInfoL.setText("Family member information:");
584
585 javax.swing.GroupLayout statsLayout = new javax.swing.GroupLayout(stats);
586 stats.setLayout(statsLayout);
587 statsLayout.setHorizontalGroup(
588 statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
589 .addGroup(statsLayout.createSequentialGroup()
590 .addContainerGap()
591 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
592 .addComponent(recomTF)
593 .addGroup(statsLayout.createSequentialGroup()
594 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
595 .addGroup(statsLayout.createSequentialGroup()
596 .addComponent(ctaskL)
597 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
598 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
599 .addComponent(cnameCB, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
600 .addComponent(ctaskCB, javax.swing.GroupLayout.PREFERRED_SIZE, 164, javax.swing.GroupLayout.PREFERRED_SIZE))
601 .addGap(0, 0, Short.MAX_VALUE))
602 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, statsLayout.createSequentialGroup()
603 .addGap(0, 0, Short.MAX_VALUE)
604 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
605 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, statsLayout.createSequentialGroup()
606 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
607 .addComponent(calcTB, javax.swing.GroupLayout.Alignment.TRAILING)
608 .addComponent(calcNB, javax.swing.GroupLayout.Alignment.TRAILING))
609 .addGap(18, 18, 18))
610 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, statsLayout.createSequentialGroup()
611 .addComponent(getInfoL)
612 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
613 .addComponent(getInfoB)
614 .addGap(31, 31, 31))))
615 .addGroup(statsLayout.createSequentialGroup()
616 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
617 .addComponent(cnameL)
618 .addGroup(statsLayout.createSequentialGroup()
619 .addGap(8, 8, 8)
620 .addComponent(recomL)))
621 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
622 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
623 .addComponent(familyInfoL)
624 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
625 .addComponent(rankL)
626 .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 490, Short.MAX_VALUE)
627 .addComponent(jScrollPane3)))))
628 .addGap(43, 43, 43))
629 );
630 statsLayout.setVerticalGroup(
631 statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
632 .addGroup(statsLayout.createSequentialGroup()
633 .addComponent(rankL)
634 .addGap(10, 10, 10)
635 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
636 .addGroup(statsLayout.createSequentialGroup()
637 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
638 .addComponent(ctaskCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
639 .addComponent(ctaskL))
640 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
641 .addComponent(calcTB)
642 .addGap(51, 51, 51)
643 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
644 .addComponent(cnameL)
645 .addComponent(cnameCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
646 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
647 .addComponent(calcNB))
648 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 201, javax.swing.GroupLayout.PREFERRED_SIZE))
649 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
650 .addComponent(familyInfoL)
651 .addGap(3, 3, 3)
652 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
653 .addGroup(statsLayout.createSequentialGroup()
654 .addGap(54, 54, 54)
655 .addGroup(statsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
656 .addComponent(getInfoB)
657 .addComponent(getInfoL))
658 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 64, Short.MAX_VALUE)
659 .addComponent(recomL))
660 .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE))
661 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
662 .addComponent(recomTF, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
663 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
664 );
665
666 jTabbedPane1.addTab("Statistics", stats);
667
668 jMenu1.setText("File");
669 jMenuBar1.add(jMenu1);
670
671 jMenu2.setText("Edit");
672 jMenuBar1.add(jMenu2);
673
674 help.setText("Help");
675 help.addMouseListener(new java.awt.event.MouseAdapter() {
676 public void mouseReleased(java.awt.event.MouseEvent evt) {
677 helpMouseReleased(evt);
678 }
679 });
680 jMenuBar1.add(help);
681
682 setJMenuBar(jMenuBar1);
683
684 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
685 getContentPane().setLayout(layout);
686 layout.setHorizontalGroup(
687 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
688 .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 847, javax.swing.GroupLayout.PREFERRED_SIZE)
689 );
690 layout.setVerticalGroup(
691 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
692 .addGroup(layout.createSequentialGroup()
693 .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 525, Short.MAX_VALUE)
694 .addContainerGap())
695 );
696
697 pack();
698 }// </editor-fold>
699
700 private void recomTFActionPerformed(java.awt.event.ActionEvent evt) {
701
702 }
703
704 private void enterBActionPerformed(java.awt.event.ActionEvent evt) {
705
706 }
707
708 private void calcTBActionPerformed(java.awt.event.ActionEvent evt) {
709
710 }
711
712 private void calcNBActionPerformed(java.awt.event.ActionEvent evt) {
713
714 }
1085
1086 // Variables declaration - do not modify
1087 private javax.swing.JLabel FilterL;
1088 private javax.swing.JButton addPplB;
1089 private javax.swing.JButton addTasksB;
1090 private javax.swing.JButton calcNB;
1091 private javax.swing.JButton calcTB;
1092 private javax.swing.JSeparator centralSep;
1093 private javax.swing.JPanel central_UI;
1094 private javax.swing.JComboBox<String> cnameCB;
1095 private javax.swing.JLabel cnameL;
1096 private javax.swing.JComboBox<String> ctaskCB;
1097 private javax.swing.JLabel ctaskL;
1098 private javax.swing.JLabel dateL;
1099 private javax.swing.JComboBox<String> dayCB;
1100 private javax.swing.JButton enterB;
1101 private javax.swing.JLabel familyInfoL;
1102 private javax.swing.JButton filterB;
1103 private javax.swing.JTextField filterTF;
1104 private javax.swing.JButton getInfoB;
1105 private javax.swing.JLabel getInfoL;
1106 private javax.swing.JMenu help;
1107 private javax.swing.JTable infoT;
1108 private javax.swing.JMenu jMenu1;
1109 private javax.swing.JMenu jMenu2;
1110 private javax.swing.JMenuBar jMenuBar1;
1111 private javax.swing.JScrollPane jScrollPane1;
1112 private javax.swing.JScrollPane jScrollPane2;
1113 private javax.swing.JScrollPane jScrollPane3;
1114 private javax.swing.JTabbedPane jTabbedPane1;
1115 private javax.swing.JComboBox<String> monthCB;
1116 private javax.swing.JComboBox<String> nameCB;
1117 private javax.swing.JLabel nameL;
1118 private javax.swing.JLabel peopleL;
1119 private javax.swing.JLabel rankL;
1120 private javax.swing.JTable rankT;
1121 private javax.swing.JLabel recomL;
1122 private javax.swing.JTextField recomTF;
1123 private javax.swing.JButton restoreB;
1124 private javax.swing.JButton sortB;
1125 private javax.swing.JComboBox<String> sortCB;
1126 private javax.swing.JLabel sortL;
1127 private javax.swing.JPanel stats;
1128 private javax.swing.JComboBox<String> taskCB;
1129 private javax.swing.JLabel taskL;
1130 private javax.swing.JTable taskT;
1131 private javax.swing.JLabel tasksL;
1132 private javax.swing.JComboBox<String> yearCB;
1133 // End of variables declaration
1134 }
1135