From 7cdf12a8c8a0f0794a72730d0e7e968b57daae08 Mon Sep 17 00:00:00 2001 From: x2mercy Date: Thu, 13 Dec 2018 16:26:02 -0500 Subject: [PATCH 1/3] polish --- GradingSystemWMX/bin/daos/CourseDao.class | Bin 3527 -> 4239 bytes GradingSystemWMX/bin/daos/GradesDao.class | Bin 3892 -> 3873 bytes .../bin/uis/Frame/InfoFrame$1.class | Bin 617 -> 617 bytes .../bin/uis/Frame/InfoFrame$2.class | Bin 2376 -> 2376 bytes .../bin/uis/Frame/InfoFrame$3.class | Bin 2247 -> 2441 bytes .../bin/uis/Frame/InfoFrame$4.class | Bin 1131 -> 1495 bytes .../bin/uis/Frame/InfoFrame$5.class | Bin 2352 -> 2617 bytes .../bin/uis/Frame/InfoFrame$6.class | Bin 1081 -> 3148 bytes .../bin/uis/Frame/InfoFrame$7.class | Bin 734 -> 1445 bytes .../bin/uis/Frame/InfoFrame$8.class | Bin 0 -> 734 bytes .../bin/uis/Frame/InfoFrame.class | Bin 8833 -> 9986 bytes GradingSystemWMX/bin/uis/Frame/Login$1.class | Bin 795 -> 795 bytes GradingSystemWMX/bin/uis/Frame/Login$2.class | Bin 2005 -> 2092 bytes GradingSystemWMX/bin/uis/Frame/Login$3.class | Bin 1824 -> 1911 bytes GradingSystemWMX/bin/uis/Frame/Login.class | Bin 2487 -> 2951 bytes .../bin/uis/Frame/MainFrame$1.class | Bin 1690 -> 1690 bytes .../bin/uis/Frame/MainFrame$10.class | Bin 1110 -> 1110 bytes .../bin/uis/Frame/MainFrame$2.class | Bin 3559 -> 3624 bytes .../bin/uis/Frame/MainFrame$3.class | Bin 856 -> 856 bytes .../bin/uis/Frame/MainFrame$4.class | Bin 2125 -> 2125 bytes .../bin/uis/Frame/MainFrame$5.class | Bin 650 -> 650 bytes .../bin/uis/Frame/MainFrame$6.class | Bin 650 -> 650 bytes .../bin/uis/Frame/MainFrame$7.class | Bin 650 -> 650 bytes .../bin/uis/Frame/MainFrame$8.class | Bin 2807 -> 2807 bytes .../bin/uis/Frame/MainFrame$9.class | Bin 842 -> 842 bytes .../bin/uis/Frame/MainFrame.class | Bin 13508 -> 13586 bytes .../bin/uis/Frame/StartFrame$1.class | Bin 1708 -> 1912 bytes .../bin/uis/Frame/StartFrame$2.class | Bin 1900 -> 2041 bytes .../bin/uis/Frame/StartFrame$3.class | Bin 978 -> 978 bytes .../bin/uis/Frame/StartFrame.class | Bin 2966 -> 3469 bytes .../bin/uis/Frame/addGradeFrame$1.class | Bin 1462 -> 1454 bytes .../bin/uis/Frame/addGradeFrame$2.class | Bin 694 -> 694 bytes .../uis/Frame/addGradeFrame$TextChanged.class | Bin 1211 -> 1215 bytes .../bin/uis/Frame/addGradeFrame.class | Bin 3073 -> 3076 bytes GradingSystemWMX/bin/uis/Frame/test$1.class | Bin 1255 -> 0 bytes GradingSystemWMX/bin/uis/Frame/test$2.class | Bin 1432 -> 0 bytes GradingSystemWMX/bin/uis/Frame/test$3.class | Bin 1186 -> 0 bytes GradingSystemWMX/bin/uis/Frame/test$4.class | Bin 971 -> 0 bytes GradingSystemWMX/bin/uis/Frame/test.class | Bin 3142 -> 0 bytes GradingSystemWMX/db.sql | 101 --------- GradingSystemWMX/src/daos/CourseDao.java | 27 +++ GradingSystemWMX/src/daos/GradesDao.java | 2 +- GradingSystemWMX/src/uis/Frame/InfoFrame.java | 214 +++++++++++++----- GradingSystemWMX/src/uis/Frame/Login.java | 28 ++- GradingSystemWMX/src/uis/Frame/MainFrame.java | 113 +++++++-- .../src/uis/Frame/StartFrame.java | 33 ++- .../src/uis/Frame/addGradeFrame.java | 11 +- 47 files changed, 323 insertions(+), 206 deletions(-) create mode 100644 GradingSystemWMX/bin/uis/Frame/InfoFrame$8.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/test$1.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/test$2.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/test$3.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/test$4.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/test.class delete mode 100644 GradingSystemWMX/db.sql diff --git a/GradingSystemWMX/bin/daos/CourseDao.class b/GradingSystemWMX/bin/daos/CourseDao.class index 4c6418999a0402877b15cc4b3244ea3b87358d99..555ce3512f58aaf1c39511339d318626ffc9d287 100644 GIT binary patch delta 659 zcmZvYT~E_c7{~u-Yu8fQ1tb`zk`xoL9m9p_6*EDH@hwJ4G%*ksa##;g=vrty3|IRI zUi4%5wh0?=ikC+3y(E4N?~G5o1xPd}Ip_Dh|DW^i>YGvR$DgAU0JrhArTtX1Dz~gz zhX( zVZbDd^kW|?wT|fkhe#!KM80%F$3#*>pNZt_)J(=*+@qmoa#QJVR1}iL@P+IYPW}Sq Cf~VC0 delta 36 scmeBIJTA?3>ff$?3=9k=3~M%WUFDeE!B5wcy delta 112 zcmWN|ISv5<06@`aNk&04(L06H6 z@q#FL0X=w$FP0~sn>1q)V|*h~pM2xV#Kgo0Bi=QL;5wa{w4C#>_Wswu*811ld!M`R z=t|?u%b$J@Y~;gPqpZ|5{xQ{1j(WD|Sc+utxH)CEJ7zxDKHwGYe6AzGT1Cx{iAird zrk&gT3#vJG2OHyT@NW#&g*UO;-x69M+p4*fyZmgZF?P3R8~6CfLk*icxi8N4 z|7Das+iBk;6$(X77poM}jANNagHBckB_Gf{$WH%<(AxSQdgDAKoh>x55ZPsP|$AJ%x2^4Rn+-yk-Fsu z!$HA59@jjG$tedvPegHn5@QPw{-6ns)G*bIn5aR6-LhThAcZb<_!k$ zxaR4As|Bu#=`t6zOlb0fBj9%xCIX4q(!-?Y07XT_wGYXmhMUvf1|Cy!N}^C2_RmFX z`ws>KN=%uKon1Imk7>=J0E`!{Nz=}I37%8b4wNz(%XLRfjx(JqO_~8ayC%U4QlL9O zS}=H#m*c$Tw?^y3uW;D!jSg%`a72;nm+8A!$~C8~ls9I(sl0VCm2phhO^w<`R|>o? z)rQPsUT&KIarA5TzVF0NsUQ8C_|4@RBJ#t9mN{zXxFNZw!n%(*A8hAIS50e$+vnLb zPe+A&!`n`C@+_TuKjHpet@G@tKSOtjFX*fANQJ?n*0T(YbKg?eV-=pPkhzLbUKBjK zh_N)*UWi(XIRPe$MBCud;gG5q_ZbR`Q&&bs^@<8^)jXq;&nBOb%u_y%R>@bBuSI1& zD?LY8T^7?rG8h2M`I&Y6LYiM`<2N?*yZHW)Yw;&<@)tAw%^Vl`O#EMQiEsFq^IYaT zuJFBrpH!Gy$<$IED0N&fyCCyXj-lis&hUn03Q6W8yv5su*?C+DTAWqrgh1~IvW&}3Dd>|`B0;O>9{ResDA9DZz delta 1005 zcmZ{i+iz4=6vlu1%(Q1bY!OQfiem~`=uEMWm!jfGwG1HD7K9Nh6)&eVr^6}JnKE;x zTD%M@p!h_y`2*mA@MM%|#zBlR@xg>wd^3T1jq&mqXw-F>7;TLEBzx`sec$@l+AHVe z@-J?7F8}fIr@#OwFF19j9P^IqF@09LeXZsWddwj!v3flTn_fjn-Yr*CL)EHZC{25% zV5?i!B@7CPIy=FXVv8bD@B&3wVmLW+oiDnj zLTcBgU!&x>%}%o_8ozNg zY%jxZ%^tEQ6I~x0Wv^x*W9D!)T_0t?W}F?0SWwOe6~9ynp;imr8fL}~LSjOb3yDylDNlzZUcw-rW|D#;TJ?{3(r+R;?BH|AW=gSAo%c%h=CDTkn4@n&4V6vQ~JSdp#ea$dDMSt}OjR@Y|SP@P{Bqbe1K zOOs`X8ZX++n)$YP3$+o}O_LgE(!rW^2m<{%v`pTTMyX!Tg z^1+vVAF{N`ZLP4T!MY|Jnxq=s7ukHC)0Y_7{}B)F>~FFuev!=t-Xi!QGXbZSt>5{MdU9y`{$%|y{y5(R+v^D zGaZ#^li-3pEJ~N`gWM$hRXVxGDi-MGYkK*HdYW%Jz<0dL_ssJH=lGF#Meqqf@i{+p znP0fVudI;tzSg8z$t`k|nQ?@dkqL8#SH!^*%M-jtod`#T*TS`s*9Cb)kQ=amr(6BT bDFNOT;C72+9G62>Tu$(|oE*tg5@r1b-(&Eh diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$4.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$4.class index cae1a4cd255b01723ce6144dd9d3cf8d7f9ba74e..8f166a1c4b4f8f350b47f1c81c055bfab8bd0331 100644 GIT binary patch delta 795 zcmZWnTTc^F5dLOqX}c`9A~z9P#cILQ^@5-jP~@UTDisg}6O#iul*R3~b{7gUktct_ zzWE1yCLxtbqVK*NpZo>B_-;CD^el7#Tgrq~vSCG3nb?-ooulL+E0p>8sp zcXxGHX7iSCr3xMA12{)$_%~idH!cvW<%=z0IfO)W^hD0t)lIqPCVEx^xJYRJOK8Fr zRxVSaq%z^Ch92~KuPE9cK}sH7@mr_mv{UgSZvI zO=epmC5o<*&Y8BWVF(EV?eI>9Fo+QiqZMSgob8T=G2Hb=m9}666B;Jb=RH$8_JX)a z(9@O_j?^8oEp>OpbaY!5^)*X4j=pXd95;w0A+RJ0HjAa=0a5|X5L(L=b_}P;s4+d8 zcg>ug7Pi#z5VM3vXCqfkNyiZx`MY$&@Uc*3-s8D!JfE|r?I!+L?*ww(Bi6;+RVM0c z=UuV(JSFlAV%3t~ke~AZAN)KU^SuYq4$vCzETQWSMvf3!E<=a7 z^bVI(F<%MsvR}fr0}PD*F^30yvCd|Gy&dzHF#Z-Ag{Q*z{fC&|=d@L5z-BgD-)nkZWHeiezF-2h(tqF6~f^cP0E1b}TQ|vK2r11!Zvxs7jJq2+d3GN|( mFoa6)xQ+#mtcLOf$sps8*;BBHCBA(e{RAs)shoxQ=JgBD6R+g} delta 489 zcmYL_-%b-z5XOIJyG>y^Km?o0-vWYcX>}D#TR@8Z39$(#UXj#zvyy6-KsT`k^~z^3 z`v$xL38@AWxaS2(d<8EFsF)aLi-Aez%y-T=^Uaw#ZTs0`o%}mE0z-d#MD5c5_65x}!@&=uuSEo;b^q$ug?Mlr84oTZ zlhH-Rv>nWwqvBn`x>+_j3y#d>mt7)6WjTdI66J|~^mlr`k$jmk8;pea1`qa`DBi%w zIWsd57xrl;+91CtwFY^Ih|Z^mtQ3LEmQoFAuh@Dmo8zm*S+YLjL-@%m|+$r pMJb*!CsIjz!cEAx(zJ&gz!Y4RWP^F0OEhJl3oHq;q*6%~y8<9iT6zEg diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$5.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$5.class index 7cd29b5262a9ff5ab525145960790d1bd4520157..e632295eb4b834315fa8a6c78f80e418b577594a 100644 GIT binary patch delta 1396 zcmZ8hOHdqD6g_vkduA9rflQ#n7zjGjT`$2JDbNR z%vr_M#wQ}Gsd=DazYF<&Mhrrh|35A}2gkG_v!p>k(%6JZ~R-TaUY?E;s?N*&oSlfv+ zE_5+tDPq)VGuRc=qo$0r=qAt%|E+20#Pc$GQ#-S^uk$kc&~M!lvfXvKAmbvMt@}dW z(=W<+2^oC%VcnRB8BBaO24xIk*!oi_svp6q3t>*%_ANMXr+U=Eh$chF7!wfI%(JoS z#@J-kOcB@W!3ZKU#u2p!ME|}C#9g?w#rkIAXAMrY39X~kR7}?`*;z@SSq;ub+H3vn%uCcWC>KDE z(pAW-*yGJjB5w)5uc0uBlG~V&zK7B$c!S-2qW5rjJ9#U-&pIRu1cdT6RMqD$p>Z8` zeYW`;j@?6JwdfPYBwFm9Bu=fOBP4ChJt3!0%#yO4Nu2YEQZj*o6wePZ{5K)IXB%l~YwV{QvT;2vJ_#T9Z0S8*1M!nFfcJ474pgBH zH_*+%+xUUFiCYl4Z}!@a28pXb-EJ^AS!VFC=oC_b*W28O7PFu=(j21WBe8T4r+{O~mB5Qt%&sp*?P~w@t Fe*t$~J*)r# delta 1242 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 JWq^{yzdzPC?Gyk2 diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$7.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$7.class index 9148c7b1aad553a07d7ec1c62f32d6c59ae4fa38..82670e285e0cc4e88c38b1ccbd1f3a5eb21b38d8 100644 GIT binary patch literal 1445 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 r?^**xo_4a^vCau{NBCq+;h%7=iIZs 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 delta 35 qcmbQuHk)ljJQJhj%26+Za2F1zen0x_%Y6f8d diff --git a/GradingSystemWMX/bin/uis/Frame/Login$2.class b/GradingSystemWMX/bin/uis/Frame/Login$2.class index 73485fe9521da359c2f381aec2a0ade830cb8015..b9acd3098864716c8e6811caab4161098334bb43 100644 GIT binary patch delta 737 zcmY+COHUI~6vzLU&h*w{wAjSJASfaxAYcJaw8ghr5CH*gv6a`fbA_p;t-Y0!xL~0x z-I(0Caixig8)77yp|QpfVBGovO#B?`;o-u0oJVHP@BGi1`4QY`Fuwi%{1w0%tZf?8 zjD^)4J9cW)ma+G}B1aq~;z(SL7!e9OAoNC4*;4o&8S zEk&Eimqn?qxQF40GVFKkf((xpmfZZ1T`&+q&_EL|n7D{b3;{cn5mI)XRw>r!zp~x% zs(Qh!J_8*XGI1U43|hJ5u5b)91k=LK@8RN7lnlgh!^A#}s$pMGAc8Ry=j`mi3SGlxUyJ~g5#cQ(X8&&w%8QrO)OxM z!H}YyaHX5h2@=(r>Pl=sO`FKTQH$D7P13H^Gp$)I=ucTv{nBSt$bWeKY$&W((Z5+k zB)Nsb@spomR&n0LWe?XTcC$tgt&~Nz8e+*_OWVRoRPV8L4>zNJ%OASsVd@ovRdi9Z zi=)^>yoMA(XQSNWnuj@yQ;EGv-`0nNWarU1OKujen4^`>;{^Fmnx_jkEiX;$%3y;0 z6dX)ri3VDx(?tbYJV6f6k;h9E@ES$Dfy6tM@d1zEVHIDnruuo~y1;!fs?1RRGV17# z6Cq0yD%9fvMH;c9L|cJQ!~tSv;U|tsqfm2uH`x6(hSd ZRGDlY^sBl^gF%EXAPSg(f+(7(14R+1A|Ssu*i@uIhr_V}1;G;sy?JcB zm}vCmg@Z&>h^R*o9!

;~!C<4G-Ej&-1+P_x(KIr|o9>kD&4G*T*lwSyr};5#=8B zos1mjh)%uY(7g4?T5osOGP$|-zA<}!<^85Qp=u0jIB#-+T1BZfGh;hW)0t8_-Jd0q z*hR&`Su5|f_vhy_xn3)8&_&RoiOVKeXi#V?%b5k8tBT;XZRP$d$=36mhcH#|heFc$b7gCpMybSl2v~ zVO{pz+ma9Jqe9{&)e=XkV@zIEoMV!kWttWyh>>J~6oZn7W%LnIr)0N-j%r_-g=RJ?j5ipIyH#JUoeSe8PQ PUo(g!l_3U{WI6r-ETo#A diff --git a/GradingSystemWMX/bin/uis/Frame/Login$3.class b/GradingSystemWMX/bin/uis/Frame/Login$3.class index 97de0d68c690b8878db8cfb6f3dcde0dfb4ef900..9ee56f685afb8be10aeca83ecc00d9d884e85f56 100644 GIT binary patch delta 647 zcmY+B?MqWp9LGPW-RBX{J+GR<5kB+ilHki(P4f;EF8h zfv9c~1cAM(SAi7QkKh9#~uSVnh@6TU=eOy~I zMwHt7F{9>HAf~7@vsufwBYPB4XHxB`j+(YzDV1}{f;E$i8yuuf=a8ax+PrDrirSSz zF&`cLFIC48#kSEI%e1XFt2k?w+iq-7bdD-E=gg8F9V+Du#XhrSkRV_Xq0i58+7;St zxo};lUlEwHLS}IzI&NEKgCr;X)HCSxd%Eiq4EY%*<;;2ZH;*cew3RQ|a-Wr31*ZL+ z;RoQyY9jen(S*C+fn4!Fc!I^Gbd z(G@%#jCyPIEUl23SmxO9dM4x&cIi$1d!jd{t&p79-J&fs5c77ocwJ7$d@a7t0uGavJs&v%wc`ypY;X7@r*$2rW9cMxB5N}#Dj5%X(N%CkT%(x)(^467trC~< E7nUZAegFUf delta 559 zcmYk2%WD%+6vltInaRXy>|hkyNTblEV5Ji310lw?#u~LYsZFh#`06wnV}vGB6OZ{|5tUOJ7qpuc7BxBH!4#|1-fB zN1H^N^uNPuF&K)6VtR|=#s-PpIwR>VPIsF#n)zQb8rL>R<_?6lb;jfRP*`trI_?kq zL+6^L-?r_f*s>GrCesc1KOZ|J&ScpoaEAy>@{T$Kg8Nuzkh`R~N1FR&1gCjGmPh1y z%q^Y>^Qr7-yy7`;c)==~u|A^QyPzJU^!XVl{Nr}SoQIOa{5l2v?2aB7MnKD&vHe~$; DYpHZt diff --git a/GradingSystemWMX/bin/uis/Frame/Login.class b/GradingSystemWMX/bin/uis/Frame/Login.class index 392851890e419caa48f3f27f59b75488e91a1065..3767e2939e7260a843c52013044c6f29fb899c38 100644 GIT binary patch literal 2951 zcmai0U04)V7=91zvdcK?ETRZ%A!5P;u7Ktb;twbSEk6Q+o0ZM71CGqj(CjRTnx&am zW|?JWrFGY3S-JGYQx{$I^mNyCUDb8n)>ZYLGdr*gJWqSUnRCwfz2Dz^zK@^&`Q|$S zJMl>X1q`dxdMeUkt4S>qwZ?Tb03SoiS#?T17fDU)=6IxA+%ia$s;L=5h@mu^C(_Ta zS{PPn3FkygvrWQdSf4L6q@8m*bj?U)1^d-hYTB|B4E{0hz!Fqpn1okOW+jC-!^V7E z568pyB~{&ISXXmO$VCj5q8M~+3Z|uYn8DX>CA0ua7($DJuWpnOLaB_kSjSMbUpIB< z07GF-?XZOPs0g5(VGWNwqE0)Jqf?sc98YU$O~wXnr0{if%9_xks-xKqWi>hW2hygg z#tlt)usW)nT5mcT*X$vFNEwe>qpC5i+B)B74}GdVo+5+G#37*&r4ksn$f(9v%5_R} zj%Z_Q+Hl$pE2Z^KYPRa=7A3-0)5ZN~*e0U}wG721+h(QB1c3)?y69Is96;UTx{IPp z2&1%^l()<9qbPtK46Eid&~6!)Eg^y?p0j4k8HeN6!q_F_aqOn*ack=6#JJ5(QaIVP z@C*ulN=X2F86L@{RGf&R*^#5kNoS@_d`sAa7H+1NqqoX9fP-EvT$TV_WRJL62v?ho z@Dv=D(S~*kft+f$Oos}{!(1qq>y_ycg*00zg>h6y2adV6qUwy5b{IC~MB$$GsHQqD zbOPvFoXe;h*Nh;ZUZY3uz zlcH#;b;;)X?;Qqkf*wL{Uc2XCp@bo~vL|H(5ae4jHiT0$p5ly>M2d`b(o6;M3_0$- zvjCoDsK^8LuEZ0RaM}ePl_6s#-xBa?oC;t(`+U3-b+@G*$1;P^sR@YIB4G?Y{Li)^ zl4Nv18`o3xoPw|zlupestjd1d8q-oK%ibKob40LtI(AS+gCJIK9I_^UTBKMIA^Wj^V0|mvN2Mso;l4`7@64ED$9bs&bsr zcn6B)OAtf=uPkG_S;BQ(rhY(4pd5vk*rrq(oTnZ`mo#L-V&0I2m{)YFQrt1KgJErc zZ+7d;8$OA6wWOU9H+r>cfk*1<=qS~*np#V?XU_A(9Ran&yaT-}L&Ay$@kZX`UD_{_ zUyx~Hh%A%jd?&p?yaD3*L;bAof0gIo69p*^T4{S!>(F^imqbRkb8<4sT_zQ;-Jn6H zrLdWzDWoCnM*(lD^i{y0pjeB=D)CUoo?Z~GMJUE9tR_8$c6&*l(Yj&|q1Y_ee2uaP zLUC4)YGTbDuq2*D2#{P07J(Ah``pDCRoTu~}Ah;bo)DCB5Wqzs-Ecux~v zPd(vHE3NZ*9_hHixlT$(dQ4?QKw+L-<8WE1NQy z;Ib4(|A@FZ=zgEC+!w;{`6A^$SB7FV$)|n(a{nAAVQaTGKgK2)iQ}%BNe~0j^ zNZW;SztXG}h47=YC7Xw|(2K<38exv;O)Br<{j5s0xC4A&;LhiyS^)kGmTKI^2U(2;BgB)%Dy2C_KEy}M hsEjOD33)1H`=0RNK0cF4Tg>??14#$<+V= literal 2487 zcmZuzOIH*}6#fbZW^7yO8Bs)|@d0rdz!6Xr!50rva6l9sgXUo~Q($Y;O?rA5&C4W< zY_iEBYkxpCc^HSBkmDkooRdv{fXif^Kag{B@>TZ?43A!Pbya=$ySMKB>dyS}-!Cr# zoW|!-)Cn{dtwMU#GZ$q#<1ScE6cK^MLvz`DoGz3sXCXZv>(PB$1xmd@(R))k@IHJ_J?h^Aa5*5&-5*q ziHIb}RQv+%I^MtufgQvSxkV>W@@R65Pe(S2j?IM(s-z)_#10yF>1aS>6ek4^*A{b* zC6QkG%Hop$WGML7(2Y|nhbNSAuZ}*Pt~ym%5`>wlN~S^)S~Ec^*0Va^#9IQp8SAj? z_{_A5XFaQ`0BVD^mR?|#M8A#!oDY3v%qMQq7dTj{g2IPu6Q*M>1U6Byx*OG-G3TTm z!)1Y3Rhb$tU`U;3SYU5$P1iJ~5bf%)qdKnQ8Wm&asnb-A>tT0s$#r;&fsRlWVf@v_ zD8{MS+Psdh>0iTGSb_;1QN+}g&c-mMRiKb#cwfM{CT-h2GUd7RvQTinqfwaK z+@D?z_mNY%;_;i4nN9aAC{q^mIu`JN=FHMyPKh+5Jh6@f$7*sW)%{9uM35qihugUB z(_kS-wfhe&>N>u~x4`7S)_-JnCa?DxVsWt7c)gbIx9a&YV$2v6ZT!;6l4i;)<6Mh}jE6}-3k~apqrX$8# zjiryOnRbg_PL5it{b<4YPAdHg=wl8`F>JHn$^wouwtD^oL{O(10Ke*#3WJf#;;5;> zIW|&hI(8Aio3nGo3648g(KNe)_|Mq;1E+O3$hXE3?3o&l<28QiAryyjm@`Th%^^+Q zAf3^vkf{~Co@y-PNXp0?`MCHkF1pHSORXYF`qT?_rhY=_D!ON5d{&SyqbH@7$~dD2 zQO3DdT$oK$AZ#>jR31u|UA#POYREsigY17%DqkXj6I z91X3E8v)-f@=bJ+uVh?U<6~&Gd^0qiQGDJezL^T&OocByn|ON#cPG1zzBpbPMdMHz z_muB$1zZL9-{F3Lq%{)9UmGEsQ8(JHTKBF~`U)REFZBUTzRotItKIh7i zt&vq&YVwGa^#Xm#x`PcZf(}+Sg%))3cczQ~1G;e@CozIkm_!fmq8B-?Iyi%;IE$~? zwZCEQpP?V$vKc>TXMBl^_!F1#3YYOWhVT!D@h?V11f!w}SH)p=%q06?AFhi*WW;q$ zi97H_9$yFIxEKlmHWnGvq-dcxm-2Xq-?7B6Ix?2<0X)=`FN*@dB4q1@&)o(ih9Z_j zIia1SQe{KxIZErtZ44Io1n#IznmoaW6_d7Lj~C!al)k5FsNk&@AK~MQ#kvy;WwS}V m#>pq!n#^oANmNbf`_mwTr}&KH0ba}|j_SD|yultAJpTj9Q$1M# diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$1.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$1.class index 553bf826b6dd2e630f8ee3a5d34bec1f59c2bdab..9ab405185a5e844ce34aff37f1d37bb30b115e32 100644 GIT binary patch delta 63 zcmV-F0Kos64Vn$GEd>F(lP(3rExZ5=0KEVe0KNbq0KWh$0Kfn?0Kou30Kx!I0K))Y V0K@=o0L1`&0LB1|0LYUb27EV(5$gZ| delta 63 zcmV-F0Kos64Vn$GEd>F#lP(3rEw}&+0J#7a0J;Dm0J{Jy0K5P;0KEV~0KNcE0KWiU V0Kfok0Kou!0Kx!^0K}6X27ED{5w`#U diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$10.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$10.class index 7e65d926045d31941ec99dd718e1cfb33ba1494e..2638a62f11b441dcab4519bef3f24a7bb613d8e4 100644 GIT binary patch delta 47 zcmV+~0MP%|2-XO&XafQ2lW7BT9qj-I0qy`20q+180q_7K0r3DX0rCJf0rLPl0rZpj F173aE54QjS delta 47 zcmV+~0MP%|2-XO&XafP*lW7BT9oqm00o(u*0o?!>0p0*20p9>F0pI{N0pS2T0pgSR F172`z4;26a diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$2.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$2.class index 5fa8b446ed6bc0d91ca7b004a8a24033babc3560..a1bd58327dd49748c46794e6fcef89c9908a5522 100644 GIT binary patch delta 1389 zcmZ8hdr(wm6#pIe?tMeFbcGcJV#rt&ag^De7OlppW|N@^A*?7Cc7sLQjok}^8EB)%33N&@XAUt9t_wGtvAB*dtR*-&HJehvGmF&iO>I1;TtyEamavWuJ2M^Y@d%r6 zdW1egCYw?+RTaJ1s6)e}Ocv+Ky?9*5CTwOUVwSi?$CG%9trV}R@5eI|w$88*t~E>V zh()5D{Whos>Q>N?9Xg(!wtDQO&*|8SUA$_Euvr;v4w{izl;A811Uz;2{tG$=FvyOJ zg&8k$|Eic7Y*&%M9vwp%W|zc5_dbrU44Y;+err4!nl8^PI$p(VY?*Y6ctFSNc!O<` zJo$@pP{&(#9qk^~Mk5`a;Xugl#XC9i<{y|)6_ZOMS;+$;l6MPCjO0*lF;d7*LY6CcqFF5NA+KLlU zA#j=-@g>)soNPC~!q`n^> z%OW76fT-gQl&cpmB8t|ffMOM|h=?F~j}kSAiczAG2#RNRY3wHZ%{gbzd(Qiw`Oc>D z<7LLae|PNxF6Ybb#sQCEFo+vW#!>H__KfJ)z)c!ADoUb}RHkyA-5iZ2?V3o+WC9bN zHt!Js%_g^StFzf#HEJ@A8WBa0sgagQWwRYmRMy2aw#gJORd_S;IWdFb#7u5?1Hq=4 zJw6$q*&M5lx^3?;i8IwH_Fd^um`o?>jPVW5&LFKZQ_=JPq7AVrb}DU>!B%*rio&X> z9a@*qNJNrNmDe{;m7I|pEnUETc$}S%Cz}jrGe@IUQJPnERVEW}N>1+*HkUgK+-hqY zTSq%z`}(VS&RJi%-o|{BAa^+z`TGrNW1-0+?p7F?nB5T1#2XVa5m_;DXoD-}9+M^9 z>rC-qJYp%!HI{XaB{Ivd9FvMCWi0n&DAeo#OL@TL!MxXM(1v63FpoH${yx(5F_Xtx z>3r)S-0KO2uRdi*5(YC^ZL)^7PH$~+XuS}wi`jN8eQi1tl_3w}DU+vp#;Mn?@ozNQ z#AaumHdJrmIg_nC@0`#s@xNg5BHNw5dX>aqHfiS-XM#Sg{|<##n{0_B;!&NQ(sEQf zok|<*<~5C1o%MRTXAiGCo%+d=qIgsh$P}(cZH==((6_9#+jl4oe59z9YZ0n*&iQ&f z9wV(*IxR-Dh<(miMt`H|6n=VuTJCs*qqCORJ2|WkYo|vCV=XPm_-eo9)7P`i@)e?! zc5<6SpS*$AkUvK>tQX=<^61&YG|QJG)k$-XS>Zr8zuG8Y$+6wEO$Zs5i|J_vc95+O zhJxN43)~_(vWwffFKiYZu~&qPLqW^5igP>^3QFZiH?qd^N!ij>Ii6fAMe@!%an`X& zI?Q*mA-{WeFe%4|>ht^thIGr@1B^(&mo)xT~V_UURcs)?K=0R?Q zZXn}4=%sML3ar9ZrMc1$PY1iU%Qkzkr|I~MRgtF!#T7LK!xA9;flyvt9L{xje3i$qTHE5E5Ar&I}lsDb>cs`yJ?$7wa5 zztuF(sCk@K3;9PaQ;G|v{Z=k;KP|oKBc5w@N?o~CY6)+$mm)N^n74RaNcU26$i9Pt zmjNm%tqtK`p<=wp`*KI>)fMcMm?lgUd?1$2YR0l(tbmZN;X_etNcqb|@j=UM@@|irnvTdL9g;<8jk{tKra8_W$RyM}W$=lfW8D=wZGv+V|Fy=AHG8QsuF%~hHGZr&=GL|qzGnO%AF_tqF XGgdH^F;+6vGFCCPG1g69%Dw^sTKf?> delta 67 zcmX>ra8_W$RyIb5$=lfW89Fg=GdeQ}FuF3xGI}s*F?uqXGkP(2GI}#aGx{=QG5RqS XGx{@>F$OTyG6piVF@{cF%Dw^s6(^z{J=%S&+$sv2C&!lLG)V2L$H; delta 19 acmeBT?PA>^z{D6aS&+$sF?O;SlLG)ScLbFH diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$6.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$6.class index 7bc292a4df0f9e0ab572fe4795e1ce35f37e1e2f..cc4e3257fab2474c626a4d39384e5900a8ecf020 100644 GIT binary patch delta 19 acmeBT?PA>^z{J=wS&+$sv3s%?lLG)VZ3OcG delta 19 acmeBT?PA>^z{D6oS&+$sF=?_FlLG)S-2|Zk diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$7.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$7.class index ef7f297a91c20f3e483c35f13338decc1ab33af6..9eddb67564e797733af9c6c82b0525ef7513d6a2 100644 GIT binary patch delta 19 acmeBT?PA>^z{J=$S&+$sanfWjCI^z{Hq3S&+$sF>|sPlLG)TLIkb= diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$8.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$8.class index 0e7eccde46a61859cf2a8458bd6e0fce117398ff..7f2ba84fb61c86f21c13640547c59e0b2a8a1c1a 100644 GIT binary patch delta 146 zcmWN?yAHts0EW^3Gc_b#q{Jc-iAmxCgta@XM-Z#gX0SHiz-TBX)Gcv|VsM+p;u%ae z>Tq&GE418-!O*K3Jvy#TMoKbP22WWg$}v@enTnA*b2Xz|_-eCIm!cQlc`!b>N1mys~vOsEOch6 qCo8>K>%&H0w)(Lr!hsk^;+#lvA;*;>H%i>Gcu?h~q@=oIMZG^PTPA}5 diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$9.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$9.class index b3998c75fbd8c968a8113cf35be2b4f52de78324..6a995ca32e36432490939b78a7732c211b22a563 100644 GIT binary patch delta 34 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 Q=qa_LM3IA9G4k~N0zNdN>i_@% delta 550 zcmXAl%TH5L5XOJ!o_l*rdoh*v)*2BZDb=<-S{_BKh=>o=Qb5#FQ7dW}CWIJ6j5{{| z2WRQZ6&n{~%r$C4TpCyI{VUwLQJl(I%r}qkn>jPT554V9eE<7-518PQ!BM2`tV-|Z zeyV5}IZhc)+8G__JO$g({c6a*)V-MzMQo+L(SE$uep2m^QKaM(r)*E?Oso@*`_gdI zhPrTgN}>Cw|C7#ivQ_&_m*R2Gao#Yk2<#6x@O);tU~^7hU9?M15G``a=Q3Ap(am8A)3!Pj_q1uXE%`SRb`_6r>?%JA{SIhQ=SB@AS zDpIms%Io>BqbBf1D(-s*zff%U z41Z)aa6`s=Dj}zb1NReW9lkOvQOI1#)mNShydd&s|C?w+YP&MRB@o+(5j!eFOC+`_ zlVyy$;HsSF0h6SqJb@>+#St=s9k0$JN<c_Yg70T}W92R4hy|;ZA{_*D!H$h2MrNn3 zU6No(C6XA|y7K>UtBD)p8SufvnYs6z``vrb_nmw0e9Qm2C-8am!$+W=XRCp?s@zYB zf&fP;GbmLQKD3@#bJ6T69zK7Gs=9{PNq%jIH}MwGq$3*ZHpw8iFOHt zEj&pp-Q*HAm^5zYxe+HOg(R}gvLh9d z=;yp5|7v>5o)3$xsR_$Y28eLc(u8s{o4zk%W>fq)qjRpa$JjfLtd?}J>=EvV!n`1Gjg=V^pH<% zN5=-;1JxnD<~<2_-GZK@*WH|BaE&{SzQ6wcMkC}c_7%&n@l_G1Q7nB6LFrpDXqP+O z!EQP!lx&Z1Q?6QqbM#0NdIjl|x1YNVFwPLRoaR%8S>z7Oa#pXg*ej71#w3hn&p!5x zb-hPSpafke%_JV7ctJ)yO^BW|C7v!62YAf1oLwIUWCimHMMT<+V2cu3Y9rXP#F3ha l+$Rz{AGOK2L1g=rh_hjVJ#_Iq8 delta 885 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 aq1oS+>;wFR>o#U|j;s8Y8w<%)fBy&c>RYh@ delta 1621 zcmZWpYj+b>6x}y7=}d=#(iGYzZE1P8AthoTVhc!{f(Dwl5^RkX=(HKyK$?_f0tLnR z08|78u0DNM((WEe0JoQGFSIL8;MbW*h<9`qwRb%b9YMh4gCyqAQ?3^NO0>|jB*84 z3=5)0GVKo}GpV%MWh6Ct;4TKk5*@|RH0ssqSc+x5&f#M#c*x%$J{WB1 z*U*493cNh)sE~YUJ z;bg`dQ(!QZ-L>t`jAbPgDn>}MKr*p6mKxVEgjNN68Ok%Uw0~>L7&rZ4KIoi3-^30P zjp^8j{XFArcMT$>BEe7;FcKqXT){+vP?LrvQi4#L!A*oJ91Z>aM;7E#(HZ)^9z3t( z1svnw7uD}Qp`!%)JiLUH3SK5}6wH*dVsU>rsjA}@oFW&c>31@arGg4xB^3%;|FN8k zGYlnlTgE4>!*!N9J`p!8Q=p#H!SOn8Q|dhD8T4V(Nc?L(4O6(F<039`OIg)4g*SD) zg-et*YFdG~kxuV4g(6e9qT`*r0uj?lDR`IvtW>L~@xG1^@FD+AX<0OlRuvyJuss^4 z@rjO4@fmMZ+tq1&uHy?@>ZrPsmld}#l?RJ!vkdd;FgdV*UebX)bZ5Mf#-(r-Vr6sf zqPdolvgMRn0kHjWqKLA-_2y9N&BGJPp?U^2UK_P}ERRT14l8ZcdrR35rOanzZ650) zuBIGXx+y1HyT-NNMjKUc%A+IVy@@~$TS7j`#v=lQD!K=JdGtoSz8oI4u~UQ|&ts4l z+SMac8eO{yA&;SmYdD8!o9veJFbnykHpUv=vW@saAwDkRPPa3UWQ3MHU}r_#DdIN@ zR4w}U6Fs07G7&669rc#diCm5*tiVRBro&Z_5Y6m>mn`nX7}jGPZOEVnMuyFiUuUtO;-E-DEF8ok8Z{w%3X?cYT85Cq5j;hzXXvaxjiYp9okREa3<5$@$@N-T-f$JeB3dO! zZ{e&1-(iaQzY)534wrlWH}!U#EO4swn2z|q#(Ozjb$w*xn$Y%IBfU1RhmSEe9P1WleJA%sTFcSy}?w3?K=fiH>j zMg$9%bf6Ed5N4F9b{T{{Wqd`I#c=!yFZ%<#NvE4M;lK=RYCV+NORad!I}KeC^f-Wj E0KbA`kN^Mx diff --git a/GradingSystemWMX/bin/uis/Frame/addGradeFrame$1.class b/GradingSystemWMX/bin/uis/Frame/addGradeFrame$1.class index aa2c0b8d44e05d3553284a138f112a2776118627..f2c9903f73b9b1939271ab2bf23589e35ff8378d 100644 GIT binary patch delta 322 zcmZY2!Ab&A6vpxY^=dPzAxuVALYkS{A`4e(Wu=y;2GP#l~?L}U0f4PWk=|}@3R~mU6&e-My{h%6in5G$u_eg;b~?6)V-4cCa{!iS;|RF>Qsqb$e-|RDzL2TwNU8v-ttLCbUARJbIv{Yxit6i#+pT=);Z;uybmNKOb!4$00nFS delta 19 acmdnSx{Y;%4HIL;WLqW+#;D0S#lZK4_& tN+;iCI>(qgc@487Bh%z_%sQ-D3}Ot~lm9b2F&0jCVsT5I5O`Yd&Mr<||wVi~uA#A>#l5 diff --git a/GradingSystemWMX/bin/uis/Frame/test$1.class b/GradingSystemWMX/bin/uis/Frame/test$1.class deleted file mode 100644 index 1190a70232c9fa5cb50639a81dfc00c2c1458e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmah}+foxj5IvIw7QzA%0lA4Nh)K9CHw6ix7(hb>tP(2kn`DH=C2M6Tz&H73l}5`4 zKfsT&JhO?F1TSn=cBi|iyU&?9ogY8HeFw0DjDe6qtm63AUfDjEmXf}jS~L(57(KHu zY|Fk>mb{Q9WgU1GUv3xe_ez!p+SRG!Pc1Mx+nSwXY{MxzYD?gD{CY5v6Nsd}qU?k~ zmx(sCM-fK12?IR>;ke$=n{`U^uyUT49cu+JwMYo& zxkj6Iox(d=6c~?Z|Hful6H6s>Q4C_pz#V~})>(x#8a#b7`{}xufRZE2SKlTmD=@hnAmLQvMeAdywU&Yh647RuTNwI zLY}P^d7Tgy8S?Tx*(0w~F33Gci@H+}+q~XN$?uj5uIH2MfmEj+C2M9%C0S0pw(mhDPkGSC|*@~l?Mp3gJZg7hs@2EB1aSL3c zF6k8G9ux^<41d4jcw2ozex9cf2dCoX{5Te)_^ka^0 z&O8Y$ix*hHJLFvMl*i_C6D3x$M&$h{(YkfYavD?Ez$VoyfR}Vu3(9y!?;uG%hSxL_ J^%B|B?-z^9S^NM1 diff --git a/GradingSystemWMX/bin/uis/Frame/test$3.class b/GradingSystemWMX/bin/uis/Frame/test$3.class deleted file mode 100644 index 05f5df977eff162cf00ffabd93345cdf7b24193e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmah|?M@Rx6g|^cmX?uLKtL^mQn4+{%7=oM4-p}@wqPjf|6x18;<9UYr@))|(`PVI zH2&}bd?sVOv#p`^i%m8&b7$^7=iE8-?Z=m|0Oqh}Ai|Jp*nzp>iz8_&8K}&xffz*( z#j!9Q;qIGTyNA+J2D%tV!l*b=raYFeGFL5Sdv4hdlys%f(4`LSAoGCI%bisVw6|!x zwpwQB&;Gudt1-mZyt<5o;WCGT?gXMpa>S8hh-USHWZ8D*X5(mA`a5FRkqmuh&k{~e z__kiRf-y}&?{yN$%o2s92>HH}{+{O_$vVSmw)|H~>snqRS4&_R*9}}_=aRX_F zZedw62qjPaDJ!gfY6d4ZwXqZuEF^FfV+KZvqDJoA<+z30gtaeKRXWslS>N_f!VVNQ zl?=xnOq|0`Gt6HAt8{P7=WO~| zFlFFA!(gY9Une+BkQWS6qq7(WvbkovLtj;uPko^>Gng|l%P`(v<{!K{9^w&0B9N*k zoQ7PbvO}#)Y;$X&SZrS20>|Tai3G#QI_dviJ3~*<-hEaiS5}pNR{z zZrIw0as6+$Ar_Y9Ni=ozLvqVqZ$qo@XsLIV#HBv2xPFOk9~Ca{G?Y=@Y$BO501jAmNC7DL}pcn=uQ diff --git a/GradingSystemWMX/bin/uis/Frame/test$4.class b/GradingSystemWMX/bin/uis/Frame/test$4.class deleted file mode 100644 index defe922d8302abdbc5ed73e2137a6f10984c2152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 971 zcmah|>uwT36#fQQwrp3R)JwJ0qQweSyRG6SK}}3A2?o@N!Dx)huuR*n%dXiSz_;-k zOtcz*_y9hWF`k){SiEjByK`>e`Oam(e*gRhKn*ucBp7l7FLt&g-WQG(u`Jb07^L0j zL+q!<>omXD+(h9Z#8Jy&{R(DY&{0ueE!!SBK9O(`;6qS;V zi&*}dcAeqof6_|T8)sAO@PRKig%&m1Cmv-~O;i|`j`H}6yNwlGW=Kb(9}b1)WRx3f zEQ|(G_*WAdrsJcvum;VzExG%u#b0Ye3|2cFM6THO)L7GM4ObN@n%Gw0`e97{YYDj* z(!}gWK&!Ul^EehUinK6EI>*3rIkh*m*a- z<$sPGUeKz%)cD0ij4?i;;R;rDh8Z|mqa5oLmje5Sc~#d{k`lN^zbXiE4q05Mo2pFl Gq~{0!o!yTB diff --git a/GradingSystemWMX/bin/uis/Frame/test.class b/GradingSystemWMX/bin/uis/Frame/test.class deleted file mode 100644 index 2c2f77f6bb856d861fa065b84696b70ada0df1e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3142 zcma)8OLQCM75;u((u{{`P?X?A4UoinR8|sH$1y23rLhbSHcA4>bt=-d8QT+Q(y`=f zMsZqFno^oj`br7mnU+9#LsMvp1PI!$*|6-EMagMT&*`eGE_(Xikz^#<=fEuHpZ`Ao z|31EZ?|k^b_x=oE7v9s*p|GOlc&X8%HD{-M+w(Pq6k^A%6V}O;x8USwQ{w?s!SJmq z*WOo{v0a5NnP!oIle*nLYL#4nVo_{JAsnz2R=3EH2Qp+E)`Wf1A9ZYZMqzE6OoJnG zQ%!P_Tb;b)-=@%+=$%vujnE_morsz+@dX_*g~&gid*$k-_YLr76W5_zLHBHb!tq^O z;kra{Q_8jIUe+(t%c0&$5ngK|jxQ>7Q8-;F=Lf=nAo;|@7^RAFN+_ziRg_(%m(0koJ1Iqyyr8gvcg z3Tv7zAJ0w~3$A;&m1oMwkdZ_8QKp_zYr#*A6z1j&c{}gdb9%tU-MEK9pSAswLf$7w z)D^lDy|v)iwDP{?k;v2{jh1Lwg+q1BY=$T(yXpM5dJ;xS7VZi5bwVD9zbd zD0z0q@#w2vTnu?&y?ug?rCJ1n1I93G;+VwpTG}+}*bDQ8Vz6pB-kwy6pKHKDRL2~P zJX|G7NUV2l%fpa*b<1vbT^6;g9KJ|iz$CrxjGH?M$n9U49y}vX!Wfy}YV~R3`Y0I6o zijFkuIx*xQbJ**m?buSdX1d^(=JNYFASh590+W_2o7F8Xq8@0v5K?wbKUVEN=xS31m`6Oi#0uMd){U?<*iF=v(@h49GczG z=~LMK89KgXY1!G@ID}JxMbzFD+AeMyrVYJ*I?c*0PTQl7INc@l|0XE`#&s;u)-mE* zo@aa5$T)TKpCN<}Y4iN*koFv`ET>>)4RMW7l0%s96%=}?CZ#SWE4VfpTUo}cWOODv zvr_$Mr8-x}nq;Jmb>R=NKGzxBn9YS^o3a`G18m84)`?#dVsDo3I$@g-c90OR6H-Fx zBOy{J^b28t1g%ckEreUL*?q|>hH~4tRq)j-*uzaamwX$0D!Ba$_Es?_yS)|MwLe+L z{vEM<%a{;KXBqd&TE*cU{rGknQ#)i|#?dOATm|1542ecO6mzK(4^@%R#pWw0mf;`d zH4C{|f7GbpdslEO9-`_gVbtXwXptMJ%bgD7PK#U>59VSIRd8l791mAFMKVoRdGT1Pt^FD@ZSou_axsBU_IaKnC0u4%Nwv3 zH}bt6+pz&>h=KFy!SmRJ%h-%}kicKji;u7qe?vb$=KtisFo6H^AEXPr)hhmj^xziN z$A6F^45?B6gJf}sI)uIIDDG4qCe;0$t7mXfooAnV1{R*;?e_|*)I~gvXSmz0=5Y~Q ziKa8E8^6JCiMz}AH=e~M;_+j=kLPGnh^J5DcX$C|o_#Z39l};yJ-*ED$ZR%+_R_#bGU;_Q19Z`IG; z!c~zQ7G%81j}Aykr5wQjPjQXcQss~M(=sZ1+ErFJsl1IV%cz`cSLtq2DKD#Xx?N>W eLxsjw0u$fCyIgySfx}$oIa^yebZXCq+VX#hH43%> diff --git a/GradingSystemWMX/db.sql b/GradingSystemWMX/db.sql deleted file mode 100644 index 1046d81..0000000 --- a/GradingSystemWMX/db.sql +++ /dev/null @@ -1,101 +0,0 @@ -/** -* admins -*/ -drop table if exists admins; -create table admins ( -id int(11) not null primary key auto_increment, -username varchar(40) not null unique, -password varchar(40) not null -) ; - - -/** -* students -*/ -drop table if exists students; -create table students ( -BUID varchar(20) not null unique, -firstname VARCHAR(255), -lastname VARCHAR(255), -major VARCHAR(11), -status tinyint(1) not null, -total DOUBLE, -letterGrade CHAR(11), -id int(11) not null primary key auto_increment -) ; - - -/** -* course -*/ -drop table if exists course; -create table course( -classid varchar(40) not null, -classname varchar(255) not null, -classyear varchar(40) not null, -classterm varchar(40) not null, -classcredit FLOAT not null, -uniqueid int(11) not null primary key auto_increment -); - - -/** -* assignment -*/ -DROP TABLE if EXISTS assignment; -CREATE TABLE assignment ( -assignname VARCHAR(255) NOT NULL, -weightg DOUBLE NOT NULL, -weightu DOUBLE NOT NULL, -category VARCHAR(255) NOT NULL, -comments VARCHAR(255), -assignid INT(11) NOT NULL PRIMARY KEY auto_increment, -classid INT(11) NOT NULL, -UNIQUE(assignname, classid), -FOREIGN KEY(classid) REFERENCES course(uniqueid) ON DELETE CASCADE -); - - - -/** -* enrollments -*/ -DROP TABLE if EXISTS enrollments; -CREATE TABLE enrollments( -id INT(11) NOT NULL PRIMARY KEY auto_increment, -studentID INT(11) NOT NULL , -classID INT (11) NOT NULL , -foreign key (studentID) references students(id) on delete cascade on update cascade, -foreign key (classID) references course(uniqueID) on delete cascade on update cascade -) - - -/** -* grades -*/ -DROP TABLE if EXISTS grades; -CREATE TABLE grades ( -id INT(11) NOT NULL PRIMARY KEY auto_increment, -studentID INT(11) NOT NULL, -classid INT(11) NOT NULL, -assignid INT(11) NOT NULL, -comments VARCHAR(255), -grade DOUBLE NOT NULL, - -FOREIGN KEY(studentID) REFERENCES students(id) ON DELETE CASCADE, -FOREIGN KEY(classid) REFERENCES course(uniqueid) ON DELETE CASCADE, -FOREIGN KEY(assignid) REFERENCES assignment(assignid) ON DELETE CASCADE, -UNIQUE(studentID, classid) -); - - - - - - - - - - - - diff --git a/GradingSystemWMX/src/daos/CourseDao.java b/GradingSystemWMX/src/daos/CourseDao.java index a6f4e46..f1db470 100644 --- a/GradingSystemWMX/src/daos/CourseDao.java +++ b/GradingSystemWMX/src/daos/CourseDao.java @@ -94,5 +94,32 @@ protected void finalize() throws Throwable { System.out.println(this.getClass().toString() + "destroyed."); } + public Boolean addClass(String newID, Float newCredit, String newName, String newTerm, String newYear) { + sql = "insert into course (classid, classname, classyear, classterm, classcredit) values (?,?,?,?,?)"; + params = new ArrayList<>(); + params.add(newID); + params.add(newName); + params.add(newYear); + params.add(newTerm); + params.add(newCredit); + + try { + return dBconnection.updateByPreparedStatement(sql, params); + }catch(Exception e) { + e.printStackTrace(); + } + return false; + } + +// public List getClassList() { +// sql = "select * from course"; +// List cl = new ArrayList<>(); +// try { +// cl = dBconnection.findSimpleRefResult(sql, params, cls) +// } +// // TODO Auto-generated method stub +// return null; +// } + } diff --git a/GradingSystemWMX/src/daos/GradesDao.java b/GradingSystemWMX/src/daos/GradesDao.java index 6c33622..e4c3d71 100644 --- a/GradingSystemWMX/src/daos/GradesDao.java +++ b/GradingSystemWMX/src/daos/GradesDao.java @@ -84,7 +84,7 @@ public boolean updateTable(int studentID, int classUniqueID, int assignID) { } - public boolean updateGrade(Float grade, int studentID, int classID, int assignID) { + public boolean updateGrade(Double grade, int studentID, int classID, int assignID) { sql = "update grades set grade=? where studentID=? and classID=? and assignID=?"; params = new ArrayList<>(); diff --git a/GradingSystemWMX/src/uis/Frame/InfoFrame.java b/GradingSystemWMX/src/uis/Frame/InfoFrame.java index 12ef2ab..a93e7cf 100644 --- a/GradingSystemWMX/src/uis/Frame/InfoFrame.java +++ b/GradingSystemWMX/src/uis/Frame/InfoFrame.java @@ -27,7 +27,6 @@ public class InfoFrame extends JFrame{ private static JTextField name; private static JTextField id; - private static JTextField term; private static JTextField instructor; private static JTextField year; private static JTextField credit; @@ -37,12 +36,14 @@ public class InfoFrame extends JFrame{ private CourseDao courseDao = new CourseDao(); private Course course; - private String className = null; - private String classID = null; - private String classTerm = null; - private String classYear = null; - private Float classCredit = null; + private String className = ""; + private String classID = ""; + private String classTerm = ""; + private String classYear = ""; + private Float classCredit = (float) 0.0; private int uniqueID; + + String title = ""; private final static String prof = "Christine Papadakis-Kanaris"; @@ -59,44 +60,54 @@ public class InfoFrame extends JFrame{ "Attendence", "Quiz" }; + private static String[] terms = {"SPRING", "FALL", "SUMMER", "WINTER"}; private static Vector columnNames = new Vector() {{ - getContentPane().add("Assignment Name"); - getContentPane().add("Weight(Graduate)"); - getContentPane().add("Weight(Undergraduate)"); - getContentPane().add("Category"); - getContentPane().add("Comment"); + add("Assignment Name"); + add("Weight(Graduate)"); + add("Weight(Undergraduate)"); + add("Category"); + add("Comment"); }}; public InfoFrame(String classid, String classyear, String classterm) { setSize(800, 501); +// if(!classid.equals("") && !classyear.equals("") && !classterm.equals("")) { +// +// }else { +// +// } - classID = classid; - classYear = classyear; - classTerm = classterm; - uniqueID = courseDao.getuniqueID(classID, classTerm, classYear); - course = courseDao.getCourse(uniqueID); - className = course.getClassName(); - classCredit = course.getClassCredit(); - - assignList = assignDao.assignList(uniqueID); - for(int i = 0; i < assignList.size(); i++) { - Vector row = new Vector<>(); - row.add(assignList.get(i).getAssignName()); - row.add("" + assignList.get(i).getWeightG()); - row.add("" +assignList.get(i).getWeightU()); - row.add(assignList.get(i).getAssignCat()); - row.add(assignList.get(i).getComment()); + if(classid.equals("") || classyear.equals("") || classterm.equals("")) { + title = "Empty template"; + } else { + title = classID + "_" + classYear + classTerm; + classID = classid; + classYear = classyear; + classTerm = classterm; + uniqueID = courseDao.getuniqueID(classID, classTerm, classYear); + course = courseDao.getCourse(uniqueID); + className = course.getClassName(); + classCredit = course.getClassCredit(); - formData.add(row); + assignList = assignDao.assignList(uniqueID); + for(int i = 0; i < assignList.size(); i++) { + Vector row = new Vector<>(); + row.add(assignList.get(i).getAssignName()); + row.add("" + assignList.get(i).getWeightG()); + row.add("" +assignList.get(i).getWeightU()); + row.add(assignList.get(i).getAssignCat()); + row.add(assignList.get(i).getComment()); + + formData.add(row); + } } - System.out.println(formData.get(formData.size() - 1)); - String title = null; - if(!classID.equals(null) && !classYear.equals(null) && !classTerm.equals(null)) { - title = classID + "_" + classYear + classTerm; - } + + + //System.out.println(formData.get(formData.size() - 1)); setTitle(title); + getContentPane().setLayout(new BorderLayout(0, 0)); JPanel courseInfo = new JPanel(); @@ -126,10 +137,9 @@ public InfoFrame(String classid, String classyear, String classterm) { label_2.setForeground(new Color(255, 248, 220)); courseInfo.add(label_2); - term = new JTextField(); - courseInfo.add(term); - term.setColumns(10); - term.setText(classTerm); + JComboBox comboBox = new JComboBox(terms); + comboBox.setSelectedItem(classterm.toUpperCase().toString()); + courseInfo.add(comboBox); JLabel label_3 = new JLabel("Instructor"); label_3.setForeground(new Color(255, 248, 220)); @@ -226,21 +236,26 @@ public void valueChanged(ListSelectionEvent e) { refreshbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // String note = "Update fail!"; - assignList = assignDao.assignList(uniqueID); - formData.clear(); - for(int i = 0; i < assignList.size(); i++) { - Vector row = new Vector<>(); - row.add(assignList.get(i).getAssignName()); - row.add("" + assignList.get(i).getWeightG()); - row.add("" +assignList.get(i).getWeightU()); - row.add(assignList.get(i).getAssignCat()); - row.add(assignList.get(i).getComment()); - - formData.add(row); + if(!title.equals("Empty template")) { + assignList = assignDao.assignList(uniqueID); + formData.clear(); + for(int i = 0; i < assignList.size(); i++) { + Vector row = new Vector<>(); + row.add(assignList.get(i).getAssignName()); + row.add("" + assignList.get(i).getWeightG()); + row.add("" +assignList.get(i).getWeightU()); + row.add(assignList.get(i).getAssignCat()); + row.add(assignList.get(i).getComment()); + + formData.add(row); + } + jsp.validate(); + jsp.repaint(); + JOptionPane.showMessageDialog(null, "Successfully upadated!", "Info", JOptionPane.INFORMATION_MESSAGE); + }else { + JOptionPane.showMessageDialog(null, "Please save this new class first", "Warning", JOptionPane.WARNING_MESSAGE); } - jsp.validate(); - jsp.repaint(); - JOptionPane.showMessageDialog(null, "Successfully upadated!", "Info", JOptionPane.INFORMATION_MESSAGE); + } }); panel.add(refreshbtn); @@ -249,12 +264,17 @@ public void actionPerformed(ActionEvent e) { addbtn.setIcon(new ImageIcon(InfoFrame.class.getResource("/javax/swing/plaf/metal/icons/ocean/expanded.gif"))); addbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - DialogFrame df = new DialogFrame(uniqueID); - df.setVisible(true); - int x = getLocation().x; - int y = getLocation().y; - df.setLocation(x, y); - df.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + if(!title.equals("Empty template")) { + DialogFrame df = new DialogFrame(uniqueID); + df.setVisible(true); + int x = getLocation().x; + int y = getLocation().y; + df.setLocation(x, y); + df.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + }else { + JOptionPane.showMessageDialog(null, "Please save this new class first", "Warning", JOptionPane.WARNING_MESSAGE); + } + } }); panel.add(addbtn); @@ -262,6 +282,7 @@ public void actionPerformed(ActionEvent e) { JButton delbtn = new JButton("Delete"); delbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + if(!title.equals("Empty template")) { if(formData.isEmpty()) { //TODO: Create a pop-up window to let user add assignments // JOptionPane.showMessageDialog(null, "Empty form!", "Error", JOptionPane.ERROR_MESSAGE); @@ -295,6 +316,9 @@ public void actionPerformed(ActionEvent e) { } + }else { + JOptionPane.showMessageDialog(null, "Please save this new class first", "Warning", JOptionPane.WARNING_MESSAGE); + } } }); @@ -303,17 +327,71 @@ public void actionPerformed(ActionEvent e) { panel.add(delbtn); JButton save = new JButton("Save as template"); + save.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { +// dispose(); + Course newCourse = new Course(); + Float newCredit = Float.parseFloat(credit.getText().toString()); + String newID = id.getText().toString(); + String newName = name.getText().toString(); + String newTerm = comboBox.getSelectedItem().toString(); + String newYear = year.getText().toString(); + + if(newCredit != null && !newName.equals(null) && !newTerm.equals(null) && !newYear.equals(null)) { + newCourse.setClassCredit(newCredit); + newCourse.setClassID(newID); + newCourse.setClassName(newName); + newCourse.setClassTerm(newTerm); + newCourse.setClassYear(newYear); + + //update db + if(title.equals("_") || title.equals("Empty template")) { + Boolean flag = courseDao.addClass(newID, newCredit, newName, newTerm, newYear); + uniqueID = courseDao.getuniqueID(newID, newTerm, newYear); + setUniqueID(uniqueID); +// Boolean flag1 = assignDao.addAssign(uniqueID); + if(flag) { + JOptionPane.showMessageDialog(null, "Success!", "Info", JOptionPane.INFORMATION_MESSAGE); + title = newID + "_" + newYear + newTerm; + setT(title); + setTitle(title); + }else { + JOptionPane.showMessageDialog(null, "Fail!", "Warning", JOptionPane.WARNING_MESSAGE); + } + //update assign + +// Boolean flag1 = assignDao.addAssignList() +// StartFrame sf = new StartFrame(); + } +// else { +//// Boolean flag1 = courseDao.updateClassInfo(newID, newCredit, newName, newTerm, newYear); +// //update assignment info +// +// } + + }else { + JOptionPane.showMessageDialog(null, "Please fill all the fields above!", "Missing fields", JOptionPane.ERROR_MESSAGE); + } + + + } + }); panel.add(save); JButton startbtn = new JButton("Start/Continue"); startbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // dispose(); - MainFrame mf = new MainFrame(uniqueID); - mf.setVisible(true); - int x = getLocation().x; - int y = getLocation().y; - mf.setLocation(x, y); + if(!title.equals("Empty template")) { + MainFrame mf = new MainFrame(uniqueID); + mf.setVisible(true); + int x = getLocation().x; + int y = getLocation().y; + mf.setLocation(x, y); + }else { + JOptionPane.showMessageDialog(null, "Please save this new class first", "Warning", JOptionPane.WARNING_MESSAGE); + } + } }); startbtn.setBackground(new Color(204, 255, 204)); @@ -330,5 +408,17 @@ public void actionPerformed(ActionEvent e) { }); panel.add(cancelbtn); } + + + protected void setUniqueID(int uniqueID2) { + // TODO Auto-generated method stub + this.uniqueID = uniqueID2; + } + + + protected void setT(String title2) { + // TODO Auto-generated method stub + this.title = title2; + } } \ No newline at end of file diff --git a/GradingSystemWMX/src/uis/Frame/Login.java b/GradingSystemWMX/src/uis/Frame/Login.java index 4663e11..d600dd1 100644 --- a/GradingSystemWMX/src/uis/Frame/Login.java +++ b/GradingSystemWMX/src/uis/Frame/Login.java @@ -17,6 +17,7 @@ public class Login extends JFrame { private JTextField edtUsername; private JTextField edtPassword; private static JFrame frame; + private JPasswordField passwordField; /** * Launch the application. @@ -47,7 +48,6 @@ public Login() { panelLogin.setLayout(null); JLabel labelUsername = new JLabel("Username"); - labelUsername.setForeground(new Color(255, 248, 220)); labelUsername.setBounds(83, 77, 80, 16); panelLogin.add(labelUsername); @@ -57,14 +57,18 @@ public Login() { edtUsername.setColumns(10); JLabel labelPassword = new JLabel("Password"); - labelPassword.setForeground(new Color(255, 248, 220)); labelPassword.setBounds(83, 119, 61, 16); panelLogin.add(labelPassword); - - edtPassword = new JTextField(); - edtPassword.setBounds(175, 114, 130, 26); - panelLogin.add(edtPassword); - edtPassword.setColumns(10); + + passwordField = new JPasswordField(); + passwordField.setBounds(175, 114, 130, 26); + panelLogin.add(passwordField); + passwordField.setColumns(10); +// +// edtPassword = new JTextField(); +// edtPassword.setBounds(175, 114, 130, 26); +// panelLogin.add(edtPassword); +// edtPassword.setColumns(10); JButton btnLogin = new JButton("Login"); btnLogin.setBounds(51, 219, 117, 29); @@ -85,12 +89,12 @@ public Login() { btnLogin.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (edtUsername.getText() == null || edtUsername.getText().length() <= 0) { + if (passwordField.getText() == null || passwordField.getText().length() <= 0) { JOptionPane.showMessageDialog(frame, "Please enter user name", "Warning", JOptionPane.WARNING_MESSAGE); return; } - if (edtPassword.getText() == null || edtPassword.getText().length() <= 0) { + if (passwordField.getText() == null || passwordField.getText().length() <= 0) { JOptionPane.showMessageDialog(frame, "Please enter password", "Warning", JOptionPane.WARNING_MESSAGE); return; @@ -98,7 +102,7 @@ public void actionPerformed(ActionEvent e) { LoginDao loginDao = new LoginDao(); String username = edtUsername.getText().trim(); - String password = edtPassword.getText().trim(); + String password = passwordField.getText().trim(); LoginUser user = new LoginUser(username, password); String result = loginDao.login(user); @@ -124,7 +128,7 @@ public void actionPerformed(ActionEvent e) { JOptionPane.WARNING_MESSAGE); return; } - if (edtPassword.getText() == null || edtPassword.getText().length() <= 0) { + if (passwordField.getText() == null || passwordField.getText().length() <= 0) { JOptionPane.showMessageDialog(frame, "Please enter password", "Warning", JOptionPane.WARNING_MESSAGE); return; @@ -132,7 +136,7 @@ public void actionPerformed(ActionEvent e) { LoginDao loginDao = new LoginDao(); String username = edtUsername.getText().trim(); - String password = edtPassword.getText().trim(); + String password = passwordField.getText().trim(); LoginUser admin = new LoginUser(username, password); String result = loginDao.register(admin); diff --git a/GradingSystemWMX/src/uis/Frame/MainFrame.java b/GradingSystemWMX/src/uis/Frame/MainFrame.java index 35d0ad5..8979b5b 100644 --- a/GradingSystemWMX/src/uis/Frame/MainFrame.java +++ b/GradingSystemWMX/src/uis/Frame/MainFrame.java @@ -4,6 +4,8 @@ import javax.swing.border.LineBorder; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import javax.swing.event.TableModelEvent; +import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellEditor; @@ -28,6 +30,7 @@ import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.awt.Window.Type; public class MainFrame extends JFrame implements ActionListener{ private final JButton refreshbtn = new JButton("Refresh"); @@ -160,6 +163,7 @@ public MainFrame(int classUniqueID) { panel.setLayout(new GridLayout(20, 3, 0, 0)); DefaultTableModel tableModel = new DefaultTableModel(studentData, column); + studentform = new JTable(tableModel); // JTable studentform = new JTable(studentData,column); studentform.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); @@ -176,6 +180,7 @@ public MainFrame(int classUniqueID) { getContentPane().add(scrollPane, BorderLayout.CENTER); studentform.setFillsViewportHeight(true); studentform.setCellSelectionEnabled(true); + studentform.setSelectionBackground(Color.YELLOW); studentform.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); studentform.addMouseListener(new MouseAdapter(){ @@ -194,7 +199,75 @@ public void mouseClicked(MouseEvent e){ } }); - + /* + tableModel.addTableModelListener(new TableModelListener() { + @Override + public void tableChanged(TableModelEvent e) { + int firstRow = e.getFirstRow(); + int lastRow = e.getLastRow(); + int c = e.getColumn(); + int type = e.getType(); + +// Object selectedData = null; +// int selectedRow = studentform.getSelectedRow(); +// int selectedColumn = studentform.getSelectedColumn(); +// Student s = new Student(); +// selectedData = studentform.getValueAt(selectedRow, selectedColumn); +// System.out.println("selectedrow" + selectedRow); +// String buid = (String)studentform.getValueAt(selectedRow, 0); +// int id = studentDao.getIDbyBUID(buid); +// s = studentDao.getStudent(id); +// Double total = 0.0; + Object[] a = new Object[assignList.size()]; + if (type == TableModelEvent.UPDATE) { + for (int row = firstRow; row <= lastRow; row++) { + if (c < 5 || c >= 5 + assignList.size()) { + return; + } + + Student s = new Student(); + String buid = (String)studentform.getValueAt(row, 0); + int id = studentDao.getIDbyBUID(buid); + s = studentDao.getStudent(id); + + for(int i = 5; i < assignList.size(); i++) { + a[i] = tableModel.getValueAt(row, i); + + System.out.println(a[i]); + Double g= 0.0; + try { + g = Double.parseDouble("" + a[i]); + + } catch (Exception ex) { + ex.printStackTrace(); + } + Assignment a2 = assignList.get(i - 5); + boolean flag = gradesDao.updateGrade(g, id, classUniqueID, a2.getAssignID()); + Double total = calculate(s, assign); + tableModel.setValueAt(total, row, column.indexOf("Total")); + tableModel.fireTableCellUpdated(row, column.indexOf("Total")); +// total = getUpdatedData(); + boolean flag1 = studentDao.updateTotal(total, s.getUniqueId()); + String letter = getLetter(total); + //TODO customize +// studentform.setValueAt(letter, row, column.indexOf("LetterGrade")); + tableModel.setValueAt(total, row, column.indexOf("LetterGrade")); + tableModel.fireTableCellUpdated(row, column.indexOf("LetterGrade")); + flag = studentDao.updateLetter(letter, s.getUniqueId()); + if(!flag) { + JOptionPane.showMessageDialog(null, "Invalid", "Error", JOptionPane.ERROR_MESSAGE); + } + } + + } + + + + } + + } + }); + */ //update ListSelectionModel cellSelectionModel = studentform.getSelectionModel(); cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); @@ -209,26 +282,20 @@ public void valueChanged(ListSelectionEvent e) { Student s = new Student(); selectedData = studentform.getValueAt(selectedRow, selectedColumn); System.out.println("selectedrow" + selectedRow); - int id = selectedRow + 1; + String buid = (String)studentform.getValueAt(selectedRow, 0); + int id = studentDao.getIDbyBUID(buid); s = studentDao.getStudent(id); -// if(selectedColumn < 5) { -// if(isAdjusting) { -// StudentProfile sp = new StudentProfile(s, assignList); -// sp.setVisible(true); -// int x = getLocation().x; -// int y = getLocation().y; -// sp.setLocation(x, y); -// sp.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); -// } -// } if(selectedColumn >= 5 && selectedColumn < assignList.size() + 5) { // grade - int studentID = s.getUniqueId(); +// String bu = (String)studentform.getValueAt(selectedRow, 0); +// +// int studentID = studentDao.getIDbyBUID(bu); +// System.out.println("StudentID " + studentID); int assignID = assignDao.getIDbyName(classUniqueID, (String)column.get(selectedColumn)); String assignName = (String)column.get(selectedColumn); //int gradeID = gradesDao.getGradeID(studentID, classUniqueID, assignID); if(isAdjusting) { - addGradeFrame a = new addGradeFrame(assignName, studentID, classUniqueID, assignID); + addGradeFrame a = new addGradeFrame(assignName, id, classUniqueID, assignID); a.setVisible(true); int x = getLocation().x; int y = getLocation().y; @@ -438,6 +505,24 @@ public void actionPerformed(ActionEvent e) { studentform.getTableHeader().setReorderingAllowed(false); } +// +// protected Double calculate(Student s, Assignment assign2) { +// // TODO Auto-generated method stub +// Double total = 0.0; +// Double weight; +// if(s.getStatus()) { +// weight = assign2.getWeightG(); +// }else { +// weight = assign2.getWeightU(); +// } +// Double g = gradesDao.getGrade(s.getUniqueId(), classUniqueID, assign2.getAssignID()); +// System.out.println(classUniqueID + s.getUniqueId() + " " + assign2.getAssignID() + " " + g); +// if(g != null) { +// total += (g * weight); +// } +// +// return total; +// } protected Double calculate(Student s, List assignList) { // TODO Auto-generated method stub diff --git a/GradingSystemWMX/src/uis/Frame/StartFrame.java b/GradingSystemWMX/src/uis/Frame/StartFrame.java index e492d12..d22b43f 100644 --- a/GradingSystemWMX/src/uis/Frame/StartFrame.java +++ b/GradingSystemWMX/src/uis/Frame/StartFrame.java @@ -18,6 +18,7 @@ import java.util.List; public class StartFrame extends JFrame{ + private String selectedClass = "Empty template"; private Course course; private String[] showList; private CourseDao courseDao = new CourseDao(); @@ -28,6 +29,11 @@ public class StartFrame extends JFrame{ private String year; private String term; + + public StartFrame(Course newCourse) { + + + } public StartFrame() { getContentPane().setLayout(new BorderLayout(0, 0)); setSize(450,300); @@ -47,12 +53,17 @@ public void valueChanged(ListSelectionEvent e) { int[] indices = list.getSelectedIndices(); ListModel listModel = list.getModel(); for (int index : indices) { + selectedClass = listModel.getElementAt(index); + setSelectedClass(selectedClass); System.out.println("Selected: " + index + " = " + listModel.getElementAt(index)); } System.out.println(); } + + }); + list.setSelectedIndex(0); JPanel panel = new JPanel(); @@ -63,18 +74,20 @@ public void valueChanged(ListSelectionEvent e) { public void actionPerformed(ActionEvent e) { dispose(); - String[] selected = getSelectedClass().split("_"); String selectID = ""; String selecteTerm = ""; String selecteYear = ""; - if(!getSelectedClass().equals("Empty template")) { + selectedClass = (String)list.getSelectedValue(); + System.out.println(selectedClass); + if(!selectedClass.equals("Empty template")) { + + String[] selected = selectedClass.split("_"); selectID = selected[0]; String rest = selected[1]; selecteYear = rest.substring(0, 4); selecteTerm = rest.substring(4); - } - + } InfoFrame info = new InfoFrame(selectID, selecteYear, selecteTerm); info.setVisible(true); int x = getLocation().x; @@ -83,11 +96,6 @@ public void actionPerformed(ActionEvent e) { } - private String getSelectedClass() { - // TODO Auto-generated method stub - return (String) list.getSelectedValue(); - } - }); panel.add(confirmbtn); @@ -107,11 +115,16 @@ public void actionPerformed(ActionEvent e) { } + protected void setSelectedClass(String selectedClass2) { + // TODO Auto-generated method stub + this.selectedClass = selectedClass2; + + } private void initData() { // TODO Auto-generated method stub courseList = courseDao.courseImport(); showList = new String[courseList.size() + 1]; - showList[0] = " Empty template"; + showList[0] = "Empty template"; for(int i = 1; i < showList.length; i++) { String id = courseList.get(i - 1).getClassID(); String term = courseList.get(i - 1).getClassTerm(); diff --git a/GradingSystemWMX/src/uis/Frame/addGradeFrame.java b/GradingSystemWMX/src/uis/Frame/addGradeFrame.java index 6b4b9b8..14d525f 100644 --- a/GradingSystemWMX/src/uis/Frame/addGradeFrame.java +++ b/GradingSystemWMX/src/uis/Frame/addGradeFrame.java @@ -26,7 +26,7 @@ public class addGradeFrame extends JFrame{ private int assignID; private int gradeID; - private static Float grade; + private static Double grade; public String update; public EnrollDao enrollDao; @@ -38,7 +38,7 @@ public addGradeFrame(String assignName, int studentID, int classUniqueID, int as this.assignID = assignID; //public int getGradeID(int studentID, int classID, int assignID) { - gradeID = gradeDao.getGradeID(studentID, classUniqueID, assignID); + this.gradeID = gradeDao.getGradeID(studentID, classUniqueID, assignID); // this.gradeID = gradeID; String title = "Add grade for assignment: " + assignName; @@ -70,8 +70,7 @@ public void actionPerformed(ActionEvent e) { //int studentID, int classID, int assignID boolean flag = gradeDao.updateGrade(grade, studentID, classID, assignID); - - dispose(); + if(!flag) { JOptionPane.showMessageDialog(null, "Grade failed!", "Error", JOptionPane.ERROR_MESSAGE); }else { @@ -93,7 +92,7 @@ public void actionPerformed(ActionEvent e) { getContentPane().add(cancelbtn); } - public static Float getUpdatedData() { + public static Double getUpdatedData() { // TODO Auto-generated method stub return grade; } @@ -104,7 +103,7 @@ class TextChanged implements DocumentListener{ @Override public void insertUpdate(DocumentEvent e) { // TODO Auto-generated method stub - grade = Float.parseFloat(content.getText().toString()); + grade = Double.parseDouble(content.getText().toString()); } @Override From 34eaa76e92a077283eb1ce6453a8f43f0d452f0c Mon Sep 17 00:00:00 2001 From: x2mercy Date: Fri, 14 Dec 2018 00:13:32 -0500 Subject: [PATCH 2/3] most stable version for now --- .DS_Store | Bin 6148 -> 6148 bytes Assignment.java | 25 -- .../Abandon/AddStudentFrame$TextChanged.class | Bin 0 -> 921 bytes .../bin/Abandon/AddStudentFrame.class | Bin 0 -> 1472 bytes .../bin/uis/Frame/AddStudentFrame$1.class | Bin 2440 -> 0 bytes .../bin/uis/Frame/AddStudentFrame$2.class | Bin 717 -> 0 bytes .../Frame/AddStudentFrame$TextChanged.class | Bin 1338 -> 0 bytes .../bin/uis/Frame/AddStudentFrame.class | Bin 5775 -> 0 bytes .../bin/uis/Frame/DelFrame$1.class | Bin 1445 -> 1526 bytes .../bin/uis/Frame/DelFrame$2.class | Bin 1565 -> 1269 bytes .../bin/uis/Frame/DelFrame$3.class | Bin 694 -> 694 bytes GradingSystemWMX/bin/uis/Frame/DelFrame.class | Bin 2628 -> 2820 bytes .../bin/uis/Frame/InfoFrame$1.class | Bin 617 -> 700 bytes .../bin/uis/Frame/InfoFrame$2.class | Bin 2376 -> 2401 bytes .../bin/uis/Frame/InfoFrame$3.class | Bin 2441 -> 2464 bytes .../bin/uis/Frame/InfoFrame$4.class | Bin 1495 -> 734 bytes .../bin/uis/Frame/InfoFrame$5.class | Bin 2617 -> 3145 bytes .../bin/uis/Frame/InfoFrame$6.class | Bin 3148 -> 2444 bytes .../bin/uis/Frame/InfoFrame$7.class | Bin 1445 -> 4058 bytes .../bin/uis/Frame/InfoFrame$8.class | Bin 734 -> 2873 bytes .../bin/uis/Frame/InfoFrame.class | Bin 9986 -> 11498 bytes .../bin/uis/Frame/MainFrame$1.class | Bin 1690 -> 1690 bytes .../bin/uis/Frame/MainFrame$10.class | Bin 1110 -> 1042 bytes .../bin/uis/Frame/MainFrame$2.class | Bin 3624 -> 3624 bytes .../bin/uis/Frame/MainFrame$3.class | Bin 856 -> 856 bytes .../bin/uis/Frame/MainFrame$4.class | Bin 2125 -> 2125 bytes .../bin/uis/Frame/MainFrame$5.class | Bin 650 -> 1040 bytes .../bin/uis/Frame/MainFrame$6.class | Bin 650 -> 1111 bytes .../bin/uis/Frame/MainFrame$7.class | Bin 650 -> 1109 bytes .../bin/uis/Frame/MainFrame$8.class | Bin 2807 -> 2807 bytes .../bin/uis/Frame/MainFrame$9.class | Bin 842 -> 842 bytes .../bin/uis/Frame/MainFrame.class | Bin 13586 -> 13745 bytes .../bin/uis/Frame/PerformFrame.class | Bin 283 -> 4899 bytes .../bin/uis/Frame/StartFrame$1.class | Bin 1912 -> 1912 bytes .../bin/uis/Frame/StartFrame$2.class | Bin 2041 -> 2041 bytes .../bin/uis/Frame/StartFrame$3.class | Bin 978 -> 978 bytes .../bin/uis/Frame/StartFrame.class | Bin 3469 -> 3821 bytes .../bin/uis/Frame/ViewInfoFrame$1.class | Bin 0 -> 633 bytes .../bin/uis/Frame/ViewInfoFrame$2.class | Bin 0 -> 718 bytes .../bin/uis/Frame/ViewInfoFrame.class | Bin 0 -> 5940 bytes .../Frame => Abandon}/AddStudentFrame.java | 2 +- GradingSystemWMX/src/uis/Frame/DelFrame.java | 16 +- GradingSystemWMX/src/uis/Frame/InfoFrame.java | 358 ++++++++++++------ GradingSystemWMX/src/uis/Frame/MainFrame.java | 170 ++------- .../src/uis/Frame/PerformFrame.java | 115 ++++++ .../src/uis/Frame/StartFrame.java | 5 + .../src/uis/Frame/ViewInfoFrame.java | 170 +++++++++ StudentInfo.java | 34 -- StudentProfileCopy.java | 158 -------- course.java | 229 ----------- couse.db | Bin 8192 -> 0 bytes sqlConnection.java | 21 - 52 files changed, 577 insertions(+), 726 deletions(-) delete mode 100644 Assignment.java create mode 100644 GradingSystemWMX/bin/Abandon/AddStudentFrame$TextChanged.class create mode 100644 GradingSystemWMX/bin/Abandon/AddStudentFrame.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/AddStudentFrame$1.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/AddStudentFrame$2.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/AddStudentFrame$TextChanged.class delete mode 100644 GradingSystemWMX/bin/uis/Frame/AddStudentFrame.class create mode 100644 GradingSystemWMX/bin/uis/Frame/ViewInfoFrame$1.class create mode 100644 GradingSystemWMX/bin/uis/Frame/ViewInfoFrame$2.class create mode 100644 GradingSystemWMX/bin/uis/Frame/ViewInfoFrame.class rename GradingSystemWMX/src/{uis/Frame => Abandon}/AddStudentFrame.java (99%) create mode 100644 GradingSystemWMX/src/uis/Frame/ViewInfoFrame.java delete mode 100644 StudentInfo.java delete mode 100644 StudentProfileCopy.java delete mode 100644 course.java delete mode 100644 couse.db delete mode 100644 sqlConnection.java diff --git a/.DS_Store b/.DS_Store index bb0e3847504ab6610f993acef09b947798763269..c64e69adfcdd850dadd0a25522c852e2c39a7c65 100644 GIT binary patch delta 21 ccmZoMXffEZpNYfJ!dOSa*urx2aVA?)07=gVJOBUy delta 21 ccmZoMXffEZpNYfN&`d|c*wT3OaVA?)07=5dJoex%8Tv8msk3)vH#hFUgBfR)i8;5Q07=EeO7B?gq2vZa3`io%Jsh z6!pyq@oy665=(HGxM5W2qCPdk0A}^m#(sA6c2v z?ugEOeYaX1FtJQeq*bN=H(2)*!AUjpGrCBmIcApEL8sNpVisbL%U_zjtlz=f$H^2tOK zefLKh&(1ESSQ^u`-`R7%{pQ@JzyEyy2>>gwk%k0;=?#YpSBlbx>(+J0WkPQ&>a#Q? z3FMFHG3}Ou6D|%)?~I?oa7zk}v|TC~fr;8VPU!U32uym87t8G`xz9begQ9)(8g&eP zypLXW31rawo*qeshoV`LzK`by1hV^F1zH%zyh)(sQB1L}6=sUZXFPfuPgFMv4Ed2v zD$rDSP+>?@$Lr6h5qj}`OR$qTeF7sjhfxurx@k`s4kB}tN&;gwm&&s!x{#1%LP^gv z@zE&0b?U(|w$SVNB5Vof5?9dC+$%L%OG_0h)cJwHToop{7?s#VSnn^o9OV_3SL1;u zF#f5ZL?G!>O$n?Hk{ocz2j>VgTPx!So5x+<#S>O33 z;b+X)B5zCjj(jV-xPj+YaLOitBB^yQxGrPTh3Zlhp(0&e%m+A@Ste+xwzNHjZTNW(CqZ};3V_fb+e`mw|MrvHJosRD?WfmzMt!z=RNfi$lD|ROJA;+=L z)&^WXGf1Y-_Ag)fX91U*8CWGS_uqPPQ|q#$T5KCHAYQ(I?szfmB7t002&O7Hv490> zcuin_KxPX)4Z zj2qqrOd6bmX@fH`Yw#*u!_%)D`v#tS6K)yX?(xr||2E7U|3Zv+VqA>zE)-0h;F#~B z;(dHt!KxC7)(=?zm@j^VhrbNx3I3*#6IQ%}zd2)D@D!fmQxcxTiwhNAUZC*x0)+&u Sp-uwU;T58VT4nsc0r(3@-f=$w literal 0 HcmV?d00001 diff --git a/GradingSystemWMX/bin/uis/Frame/AddStudentFrame$1.class b/GradingSystemWMX/bin/uis/Frame/AddStudentFrame$1.class deleted file mode 100644 index 9b3aeecd3cbfbb88c0a592afea67c1bffa971cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2440 zcma)7`*Raj6#j0Tupzy)C8eO2N6`vNDNPHdf`ux5VIZM}&lJlrdFAi6ZVe%Z#u+g$lBTc<$u1;& zUuAzPF~JZTv~{@_3=JF_B5JgrV=bal)S`)_4jUM1;|ki4HY|C(IGdBsDUmZJLo99Q zg*hP{LwyI6A$50hapjZSy6Nr>qU`gSbf#=)R_f);K9rVWMNwa3Lc?Z;bvY?4HyJP; zMGKmu*oN&IS{WW)kt~kK@dQIe=+iJcU4jo&)9Z z5)*qFx>mdJN&z^=k**@CCxYX|&JjoGMd1qed1SR}(um^10qy*#0;uOW1>Z>S6 zrx-TICo8=OVCAHk;CLRV>B2;N))QWll7C}mTKo(4^J0?Y1)ODwmf>Z+phAkLtMZz% zU2*Xe$2q)Q!Nop?&ega`q;+90RmYI9>4rJz8uApG`<6H)$g`+e(yfQxV^U?-G>3s1 z;)8x!+b+0#mn7@r!4A!gQ}xR z7p>HcYUv+FO=F|#PC#Q!^(Jb-HT16or`2^dIz->K^loV1bsP2Vn{T7B{SIP3mVwRm zjFvZ$!=zFh>050iI5y!CdQ<1XW4cZ3!(TEh4()OFPQL$%yd!Wkd-A`M0V z^0-jK`QDKKZPTl>DsXkf8RvCCxY$}Kc0SP5^k*gLWJ=%6dg{aPsZ zPhtZ-hls&pG+_i=aRdp{*&d|mc@(E`3};C$&mn^X>7tDjxJb;t)Zj~eMeh*R#Mk(iMo}`Y;zqxJ01-ND)&Kwi diff --git a/GradingSystemWMX/bin/uis/Frame/AddStudentFrame$2.class b/GradingSystemWMX/bin/uis/Frame/AddStudentFrame$2.class deleted file mode 100644 index 1e0017b0d14d835601ee36d41b321a615e4e9e9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 717 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 delta 476 zcmZuu%PvDv6kX@`)Ty=+uj>_bplH!vRK4o0tyjfBM8beeZ=_Nk)Fm-8@dI*yfPoK? zh=hTdh{QKYe1Vu5VyUS!*lXpiwe~)bPv4c#`|@@F0AK*i*WM2?Uycrh6gmZ}k8+1b zx@aC)M$*cch#z5e3AnOWUO><6o5!YcWask6bg^ijWO9dg!iOG26(Ww%np_5YomMTp z)-O<5GUv_0p0R2dbA>%GM-D2)1#153M0mpqxSnN7 zAb36%@T88df~_#-RLPiH5~vR?Y&sWOt+OR9(c?VHK=~V7@bIQ7=Uq0Rwlyl<9UYWi zH>kKldqkIa=+^LvzFWlB&)ht&bUuh&dS=&VgBV>Q^L7nSHo5HXArlZc~^$^hJ~ zDb%BZ_{&D93;M^Az!)^9;^Y%NM{t{wNldZzG_8Kx{=^xIv)pNh_Kg;J6of)jA+7kX bf;k|@&a4QUH8w(` zK_Ae!G;J2qF6j*R+GnxW+WVY)+o#p>{{8v}AdWo?G=fVFlB*M3CNkA21+0cF6pGDe za8VsGhsJ8Tvh;_8RNbqgAHFoIoPVh_Ytls3S#>v}^I_K_iI$*Me82S7F?}AH0 delta 763 zcmZuu&rcI!5Pj3#W=mbMlwX2GL5h|NE()SjKng7gloo}8f+T*l3oe!|*MxGe*w^k6$L&*om)e7 z2a$fFDtDRM%Thrv66(_%Vq0i$9HXcuEK9sg8@3Y<;yNM<+6lG)p;dI?1|eWLx+R>F zMQDh2p3|8;t;a7QikN~(3(MZM4#zzD&gvaFI7#3+&q#t4m` zr5(+F%Wkx(?3QDc%voXTDpDAC-}`d(*!}M73Qh5Pljd5_esS zM0ir>+-o_)^Z`ptsOK0%kmCq^Nbn}3=wj?gIf(&YcnsrwCXmGx7BG#5N`uUC5skRa z=w%t^i3M_)#S_LBgzyw|JYb&r2;>vgz^{N582zb3W#_Y z?-#r)`rxZCIAfC;Gvf?zjxRp??vrmm>XYMlcGEU#lVtXs{m*~@{{KJu?Z2OY0dNrC zsi;%Xk~eda6Io+UL`Fs0*{JZ4K5JYvu19hUrZpWo?a&o87`dD|ZH*ck1sh{2Ba@39 zcPMkhvPm6SVG(KSh$Vz!Rq~L*pSR4bc@Z5|phOjTEt<|LXuTAZ79(kc_9pBs&62r3 zXv9XU3x+0Dw9~V-zH4YhYXcMnba>%Y z(W#(mwf`D6yG+}3sPJoK@6z!Qx)rE7VNaMh1w#r(qoGN8)}v!5b}85}E$oquWiv}> z4T~)8!H^rSv0z8!iD6nIJD?({pv?(Z9t>x)DUppCH!^u!!)}CS7~L9r(Whc>8KX#* z3LOzVOcdyhE2p3{xMIqsjTx3PO>?118Sj1_>!8csK^+ayR6Md8{+N*vX+IuSux&!5 zMbhrFXGB+4Bp8M$7(-YpIH%)DOt=cpX2lhe z&5D#;37ab7Sr(-CQmj=zCUsnpzOIva(f?7yHdMsfU2EI2XP<_PxFn;SQVTK$+|0Zg!@XH?9x@vA@_&f9jz@`KaE$9cr6(qN)rg`7BR1Mb;6|L~tea?h2gTxT`swfK#|Gi}i++`{f>8DbuQsUaDO` zUXayhSV@sq@nY>D4rsWAmt+tx%W+lHgl%ykRI78LCPPEgNsq(RULDbm`K73KR|`w~gAS?c#u$?J*h?%OInX}Q zu^t;34_(+#&y8eKI}_a(7?3W7Do%E(s^x)mwft=+4k+83zC z*2pHs2~z^Ro`E=bZ=b|TfgZKkt0QUN!y?Cfhl7)MxfgZv%Hpn0-b&8OLGG*^?as

*ipjnczt~l zp#t`Vdl#`U+_{JYB^-*k94_L>xa8T}GFZS+3B&Q;B1Zc?k{0l^oFp;e@fHvbcuE+H zH{;i)R1s$iI4gOJIN$FLcxmVGwJ6d@a+C4Kv>I zd=Yc~YCtW)iibOkm@gm~@CDQY7A}-PhMSVXAMlrOE6zA?yXSs+{v%_r$18l!@?Hlz z;o+ZvMzr&73wp4X|B|-j2)ZzYZk)mn4*H##!Y)knHl9New-Lr2?7{oki+kwD_ZY+v zIEn&};Q@!m?>K`$a1MV`@^6m%e-Ov3v^3@B9k1baz7YX=@e&oelZe&P+I_r%H|gIL zHQ&Ko^z9C=;%)A{v@wQv@GdcbfWvr?_Ep+w#|PZ`@geo-)aLSkM1BuG#(;}DW2xg8 z@P+p*;;zg=os$F2p-z$evg2dB%eCyI51+DzlqNqu!{=pPyU0^Zm(PhM;OOBwWxl|d zWtp8^Wu)HlPq=%3+5B3OukdvZk&e|OZA(_@$v2L=d-#^?X6Ei9SNXBrg=5zF{0}h$ BwKo6& literal 2628 zcmZ`*+fx%)9R8MEHms{c6fj~HEozb?@z!bqu?W@12BeL}rfTgbIl^k#;ASIW@3r@P z?fv%Lr_R`!lFXEu&h)L*>0i*tzWdynK6Lt>UBCn)!|a~@o$vgv-}(LW$A7>43g9rl zSJ9*(TsBLIleRG}5+kDEE>!p_zhYcB<`Sh@)0#}2cI671jZ(>+v__1gg3YPCQ7k2f zT*N>V|S^<~%8pq`4B56ZpE661w3VhahEukMf>9cY&gfk@BFck}1!k^Ib zB+}%Bte+d4S+qt;F!C(QI;wc8Hq#>}uTzN-4QFvcDtKB)2G4j3#%*y~*tW=fOz5bI zXXPNhm&e-V-yf-TIm6t6@oKLoj_pvQA|`Lwvs6eSvBmm)BAT&d5T$S1A5m{TG9OI>j!?F$;N zqAdjWr$CyNo>Fmb>6$GYJ$<6=I7KT2Hk}|_9$BSf216>YH_pjH4Q0&9oXj)0hB=fp`< zW_CTv=g!q$nIHvv(&8l(Ai)g;G;`(_7q-|VS;LyifeH@dPG z;>bXR`P>93|L}A(-@bSio8yb<$W#$oz*a7|ak+f~JGk7*<^2ojj<+g3{I6h7yaLL5 zGd^Dx`ztsY?^(dnc;^E87BP?s4_5KWn8fT04_EN$B9fV&Djx6iOIgGp9-}bg4^%K7 z@h{?RrWL=pBFdR~XBD#*+=v7tY6UM*F#)eiKqwMg#LWyte#6@j$^D<0ARpf5(?Tbo zTj56=)7H*a1iL9qa7G`;c8p*LJLgWMu?rW`jY;m>*n>Ij#XE@M7UKAdbN2@v#gFJi z1^xI9$M7cx@fSw%H_qS=#_=y3dlSy_3~<3K1K!1Z{9-}mAY_r`N*1z-)^6i{d_W&3 z@f|+INA&L&uHj>@0<eS}pzeJ!VL=V6ANI>uT rV~dDD{AX;v%|(-&hM+5KbKPrlrQf*EZ)skp$H!sd{gs#AH@)}&ci)}z diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$1.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$1.class index 0ea9642cdb34d287b67080c94614ee6901f37736..c1217a6a4c9b2e89f60449a7d9e25ea3470f7b85 100644 GIT binary patch delta 368 zcmZvWO-{m45Xb*h+EQwjT7@Ehp`x}miVIw6OtgwIaSc0?CKTvGnv}B8jb~`|A}rKs zj0f-t-oQ&3r?B3r-{onkEACmg@`~C@_4m(ln-MAkNtA~Wb%_tbw8j*MF*RBWM za1tF8TQ*zhJ)Q7=O0#@0tu~aH4;f&?Zp~HoV3$9;c8x1C) iasP;az&a|Nir8Q;U=v#tR(UY3?y$GmR31-v^?{U delta 309 zcmXAk&rZTX5XQfOqHC$5)vAC>`IA_B@WhcAv3ljEoSSr0YeGp%IdJkB8lJ?9Mq`X; zAHf?(U&1)sZnE>6otf|3-H*zzrhosve*zewm+6DyFp8t}l2CT~_XN$G1yV;DTLvoF z5U3Jrqxn1voLqj&VrA3fVO4H(?DAHhRL|q}4^@~j Az5oCK diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$2.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$2.class index d1b464f0203a3dbe2ebb215e7bd053d61dbbd34e..29f45e1af378b2216573be0131d0821042f6b794 100644 GIT binary patch delta 333 zcmX|*xk>|J6otQ;|2LDwU|`$|1?z~ZgKuDKZ$!`+i2FW*m5qwiSPAJx#JJ%STw{z2 zf*@+=gNU9HNptSup1XWi|I6Ps#>s^1ZhI+azD=ft52SFUNt$UgkejI&ptQ9uL!r-d~P} BLx}(Y delta 299 zcmX}myG{a86ouiRIioY9Mw5|7C84FECYC0&ynvC!7qC#gAfRJwOe`EL6M8E`BJqBS zsDLOM4bt->>Y~t7?d-L4*4Ou2e$^N&nmCy@-zHKEr<}M4HlsivI!T6#v~e$)@SjmOv>*DvL%*3p8MPHU-7DU@(1XAwb2)O>&zoY<5F-(}yp7 zzu)7GGyMbLvkVrHk#YRu$XEFf{12S*IZ8eECM{_xcDmWS=bn2Wzwk}1EdLZ1wVp=~8cksb=BnXB+eMQOq* z6-1U{Q#83^hJ!NOcxNhv_1K`Hong%i`RTY18ySK;lM${P*~zf=9$6-{+;L-vT-VIm z1u{Lrow&4pzm82X?wEMw-asWncmNR%4^sAbThs9n9%cw})B)QO8znW6&nKRTd)?RMY4{^}M1*MJwKjZtTzyV`x&)E!x(x6BK{Y z^hAk!4zXihwAO#3DklrOut&pgO5~1(g?Sh3GV#YP}Qut}X?OI4> zW_>yifXLRERT-sZCW=G@A?(LvIu7A+0x2iF6T-~py(7y#RCAQt13CtmY9E(@AJOpy z5(HD8yTd9*;^=q-)$&OlNenUgJ=3djRAr|kAM;A4or?!CLa+@Mir$Rji9*rho(SP7 zjA?j!NkuC9I*#Eu^^iDM<`yx#waV67FgnLIoLEB7A#U2LvqMPXlx(DN!jrf_Y);{{ zj%V>4f#3=+WxA$nCtq~D!u1z)aHI)9f=ITQ>~<>CLKWm77R!L^0`+^P|4mlwAcO3Ym2?{TWa}36)CAcdLmrn{qHnd@jDI;SM zv5g6{!^Z#iDB=tJO$}^+%l#Vp$r+X;~6`n- zCN9x(%qf>L;;<<@sA=(%>Xv6{fDhUk%W0cHV-vj#g<|D)9c%I4ci%d0~gWL z9=L`chVQYz*S~!Z@pk_l9;J6iYPb8UlK!fs*C+K4GtAEaB(S-2Q3`LDve z2%UvrtgIy-K1e))7| z2CaPLHG((EkDvT(!P|I;Ru`xqG^-H6C9+8~it7C?*_KtSSbLAGy-$+e@XyojqG_N& vKG4vuAxi(GzYB=XL%_d$3ynbv;3GO*hmY|Iy?t~=e2UL$C8;EdL4W@Nu0?ip literal 2441 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 literal 2617 zcmbVN+jA3T6#tzz>84?!5Gb@lB|w3sw1jJchFb|OhPF@$2FgXQfCnFZaYi0c&$mh1RLhH*+0D1-@_pz0&hMP> zm%o1a3BV?NrJ#aPo73$`r=?{?ByJ3v?y7OK0uN#CY3-aANo&SX8s-Ii6)Vulpoz0NEzPOa7Q-tmOEi4k&q1wH zu^J(QPfMkQZ8vTvEC_`Q$>bb89Z7NtO)Kh06PgvQDIHd(Q_+I81Vy*q_*}4$`@qGl zX&)E}w%fKoWMmiz+lLJtR7^8cBJIN_!mL6@62)acv@!%8mStLgY(<-bZCnG1#Aw7G zVGttw4`wB6dNo6+h+;d(Vh@`m1?gU0OPfOkr>qh&Gm|w9S%E@A<>{A6iWtY^uB>!g zJY^cu6J=%vI?u3GIIe)1S=JPVVBEHlAn#Vujy+Q#GYU_maomp`*ehAv!GsRQ!$~RF zr{X!p34U8RN!`|6?s`JUrM3=TD!S3bXbuTS@>zn!)Gn1#c3rQjGYZu>h(ii`nM#vv zbu}suBSD~1e&W*Vc@;@la$X*POhq4#^8tMP)B)a5ycpg|6{lppb*$ej2DMz;iKR_j z9Lx&KjYdZKqKcPfD=GuJon@tz^{YsM+o!}n=FGxk*rhV;cbk&=H;7>cT;RYoO1N4T zI!+hzKWvV~%$(u4EMzbTkyeobhRwD~b!PyeaUBV>J^OVY{ zupxIfbNsF?xawx4m)p}}0tqd{F`mPyf)Q?V7vAY=73c9Xr=OJ`X%1*wQx-WGPAYhX zbDSCydquj)qcOZDd2xZeA`~wt=A^G5W7sEO$K>mz50?nR-n7tc5wx{)A}9x2&=4cR zR9ds`;Gk~Vjt_5fR7W+-;2x8m_l}Ayc$Y9wHdhZ11#L)_x@-IY?=CrjiAU~|0(Sqt z3ks8xBQf13=b<%!h8%f(q=rpB#rsqY3{IcXWlhI3+H3Ib#JiBreI(aB*vbZa30Ah8 zop7|&nI0|ca!J8e=1RiMSt-$}%W*ts@`_t4%gSS|!$>i`8Ll4T44VV8Dqj$`l@Hls zP0A?tREY#ejT?Lq#$;85&2ycJ#*Y^?cdoq3`0B0Try72i&f?Wp{+1Gd)0*$0Hr>OV zZ(W;tQs!#dn-(L$-zxh^>3l5Uf94$)7IvxF$vY}6s%W|k^)40#8uD0r8^29pWgg*M z$a;T7u&*)@N%VOF>k~Z`*cjMc;icy0$_*3Pva{hfV)wD5Pr6TF*FD7AJoO$=9-UH> z$NsxG(CVFBA8DPO+apq?P z+dSXFtml1m%?Y=Q`{8|zmCkRzhgT1@u-WUAM;>VPOs%k+|N?$KNVMOXs r^#o%IKBdQ~eu6o2wd656eeClY>nm^zxB1`0mY?HGUP+cp&hhUbD$SBw diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$6.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$6.class index 9c00f13398cbabef4f989dec56be9333f6ca02c9..ff25c56c1efe93b137f00089eb7e51b3b5b99f0e 100644 GIT binary patch literal 2444 zcmaJ?TXYju6y3K?nKZq9m{LG35~N_$QX+^|Y*C;ONJ$?UngTv=liPI4WG2i^T8eK) ze4(P^WBG+&e7hEeA}*KT`sW|NuH~=(t4lq1l9ovuY}e$@oO|xM`|NY>zCZo*-46iv z;wud`3~dG7i4EH#Cu4DQ#`4}edNl+XTIR&Oh#A7n#>S`TWZKoRj$yNB6$@@m&P&sc z9Zb8rWhQjTm8P^A*15B~)A2AxPE-lq$Dqv%qhrp=Gu)d{vChVv1)cU7Nv3VfFeZd4 z$!lG|ZtCun47)q4#<}a#Xo?{)U}a=I7@9dW1l8L;9Q6o=P>WWM2CQeO?NqMK3Eh-q zh1|5XkBezTGK3RWS{Nx|>*~8~45+LaHde#Z(Mx!ng~!8$v}Y_kCo>FNIz5cB)l>~B z+WMlYdbHyK4VxKSs}RMp1rdfiS9eRG?i3^G+Qe615Dzjm4dwFgV#JlXydhi}LI-we z*j`b*l0U~o=p_J3&Umy$ zZNb%zm@;~sKF+ZZPcYOk<0b&D1!>i*DS_L{eMBNFz$RRLIZ71@1Y0|0a zsn&L-YWlF1H}yhfIHbxc=vpP<3PqM-|A`v8==8*iN!wabQhKMi%jbz$snplS{IbUGSmWLA%chL| zNz&TJq$|>=M@7CY&Y`4Lu+wr_S4!Ema*gd$o0BpRnQ6mvD1%Yy&RWz?4fuj#pT7~y z!PjoL)}k&A9yjT(8&E_^2NAknYU!y%O-qZqZ-ADtx^3v1t)Zs@oMs#8Z9je2(%9V9 zeH~3*JFlaq>juK#dX8=M8}b%Vo3a6Hpl`L1+_4dxXrvnx_mx7iD+tg(@JH7*G+o2} z;jKk%`x>{^=Mti&p{I!5OL%MveMLM~yZgZij6@a2@1Yu%i7|rZ3wy`6KvN(3J5xOmoVuU4dnvLQj z8^aYgj%(}~zNh)0SrWgnZd}0!xJZTR z#RYtbkEntl)BdV7CCeqUd_tB+1pX!nf8o-f*d8R~r(~?bXShsbfUbtm@g=>5XrZbq G{rv~O!GK5r literal 3148 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 delta 871 zcmZ9KTTc@~6vzKlw%zV_kXqy-a#JjpQdzBt+(eO!7F#YBi~2U=f~)Pe(na9KM!Y6I znSC?y(fDkFg=k{ptML=~RZNU$3W4Y*lR5K0vvYpu@~iDbK>zXQ%QpbMxb;?FQ+>mh zZ8;+V+lX_VYI2?-uxvWX{GxEIyiHj|x_0vrYmPCSw`^xf!vzee z=%-XF#QPqOK@2glbz1R+ympaeq#|v|_?J0GafKpK{DTPINP_tM7&qy+i+3gl|h}r-W16=uX9yGJ2#? zMtlo>Bm3rXpAu`SBk!e;;4Cy2n(*%6szj-RMCl}Cu&1bDn>1d}(7~RghrPfcdx=r@ z3ghfGQtV9yvv(I|50jvf!rU~Gw$iB0V3xA#At$ww9v`HtQ1^&`j>7oh`HgWu={M-) VK^pV4D>OJau|SrrnydkRe*xKRrb+++ diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame$8.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame$8.class index c234d2e5d02af0b1a277e04634aaa1849ee58f4f..23a6b668805c03de6246c73a336ec0d3c4910bd4 100644 GIT binary patch literal 2873 zcmbVOYj6`)6#h=T>84?!5U8|5C1{ltS|WnwQ3Rna7-&niSe`z%>2151?8fYtiue}s zExu5}2clpV-wcK#Bjb#J9RE4vj4ynk<9mEDqoY4W&)rSZRLdVTlkDAd&%O8D?|kPw zdFRCIM*z&ieia3T(q6-kEJ^7J5s8{zmOHAPqe3B!-k@*PBXQmAj;!d|AYzV+B0`00 z)%%=?*eFaVvMA;lmf2+3jxa@vP~`L&cIDZ;bJH+e*RjKV!!(=)gtG9k9#!oGrQYfk z#UPB-pu!(OAxbn9V>F>KEFDUk3{$l9COSlFrQQ)2gkX~u)8p-W%8>6FqauSLj34fx z$~hcNiSCBqDpFlmDj_-vlfq5I-mp>LwyvtZ7-cwBMLA*YF!$3i0TT&6$8fx$1~F`N zQij=G=f`P;QH_bDvnk|=L^7^BB7hK1S21}A=AOTXGf>H(i7R{cIA5hS6JB0g>Z;ZT zIH z+H3vbY?dtQ>ZZ_8hxr_f-DCB6)&@h5TipaFFBSDxB59d21>S}7@1JMM zfE!f7{b!zHg0UMpwIuv|kEni4}aMpwWoz-Aq14E{}{F7S4)yIH(8Fl$9jl4-2;u;cQ%yMPG$fu-Q2C zDXZc-rhJFc&3qsNxE42PxDhw8^6_d9q81kCyi#_z$?&`wTd-BdE!k4`<~FewCp6rO z+c*fTR|erBWmu6`79odM3q8Sb-GRGQ+{pmB92z>U;cnc+IZnzIaYl5A^kf34YFBYD zgElCI4I-W?mTkCSlK%lN{ctqD`f_Un*oLL@XSMuU@5dvAP-|T1wg}n!MiG+o9Wq5< zC>H13hq{cE?f9{iqgth>OcoL;FOO+>98VC&NCjzT>C?MKRzl|ge+iLoh8XyX9(Mok zcwRr?NGw;$SenNUb4S+5SdV4Ic%OpKuA!YMPg%GV`AkkT??MI>N{%_@d2K5TD|?P? zbM)91&3e*paw?wU%4oBCQ!%l`kWFV)u8~idX=UwhG-F)D3|F&odaO>Fl~)LJ^IJ(K zCwUrqQi}vei<;c+>t$Ai&E1QM#$O+3^k~_z`42_`e~S@d>j)mr;df~XOr7=`w5bO% z>Q&cgjI_Bkyqb<6$nP4jk=C&o$4}-RPVsgrSj{`CY$}_20NMeJ4_2fxX(ts7;LJ3t zb|C3{1EDpA!ARR0B{-w4nSwKe=N9;=y1MY30nA=du@m)&ao!rad;kj%qJExIt|)0N zk(M-;9Y9O1FE?IUTU4%;`bvw^SXHk0(pcAzUEb`a{n#!?1JJ$4!ZgGHt{8xI2%JTZ zqq%TFKPuT!aR{3V@FuQJ+?jK<$k7v`zsH3A;PM_dH`V^PYXE5k<7QzA%FjD3$lTSI? zg(o?qQ?L%Z@f2r&HkRXQv~ldq`47k*?1jQzXoBoy%qasUvV)`F32xVovh8SI{7NQ5vvj- zgQdn~IS!S{1{^tzQzp;lkV|85U|?im0&3^b+QPuIjX``Pkj=y(2qd{c;*8T6*cqoY z2m$$G5OoZ~3?e`tPzQqygDg-tGlLwE$HXAdpa7&<7$g`J8I*x6E}$GEkOl$(4YC(Z diff --git a/GradingSystemWMX/bin/uis/Frame/InfoFrame.class b/GradingSystemWMX/bin/uis/Frame/InfoFrame.class index fe4ad5d971e0c9e0ae81e34019d0cc0231623af8..6ae589b52b13bb5065ac632fb0efc2964df88459 100644 GIT binary patch literal 11498 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 V0Kx!m0K))$0K@=`0LGIZ27EM=5zznu delta 63 zcmV-F0Kos64Vn$GEd>F(lP(3rExZ5=0KEVe0KNbq0KWh$0Kfn?0Kou30Kx!I0K))Y V0K@=o0L1`&0LB1|0LYUb27EV(5$gZ| diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$10.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$10.class index 2638a62f11b441dcab4519bef3f24a7bb613d8e4..e8a73cbddf08acd3ce8c01219b36e25512916e19 100644 GIT binary patch delta 417 zcmZ9IUr!TJ5XFD9-P*dWsY(G&iVIa>OBX9xTdi6V5=@iwL_&nOYHG4ZAYs?2PkskB zAyNMMoSE}CyOp(0&wif(RbC!i?`1Ck(GMyM zo1L|8Whv}zh6%JNkc-2J%_v2|3cBI4ANX%RbOqC0EiGHz;-1YIZV9@*5WN1u#WgGTU9 z7;ImfFZyFNq#j*Qy_W6BPdQ(Ik|M1OJ)S(m?lE*sVdWQh7Cp0v^S^fYh>7L}oT{1L z@PPh4@X|f1huUj!Lt~LF$Tu?bot*5Dmt7p$qb&Q($N_cv!Og_FM2~**(2k|`K0(M) mqQO(8bGVKApre(!7VnR#_*o+LoTg?|{d>WzB1=0(vz~JyZAj$+ delta 486 zcma)2O-lk%6g_twQ>ST>CKgzhWsPP{pPE|sArykqB9Lk~g~^C1s70;(4^4lfr62|c z{eU*@+P4k*ZXI0}f_A;fefPY3-#z!;b8daGN_XGaw*cmls7X1hI*#?Sx?a+bGHSAL zSZpB)Zg^zaFi40fshoDAsd=rCRktf8y^xLlC*n^xS-diaF+z~anMztO>-+f(K~(md z*wD4@7XL{*Gu|2vLd{_reZ68H&kMy@Z)J5DU~HH{iN~dzXl= zFt8aE8yISbeRcTbzfcW{!G0%aXM*MiLNzWI(9Ne8R)C&ip%>Wc6)t*%m)?1R5B~Ni zqVxrOOaE3&IIz{jSMH7|8*$Q)MJzF$7kywYU}EcPY5r~|VX_>Zb#Fz{{!%>?lab_f#lVU-ZC3#kqaHz1R#)bx4nz;1XVdF7k&zM6rkCC46 oITLW<$5p~thMRKSRpg;EPgQxT&RZ=$>JX^UR|7)QK(~+#|3PjsJpcdz delta 147 zcmWN>zX|~X0LSs)S4mx2sPpgK$>9H=PI8eygU#R#l+ok~#4|{&)*G+P2JaxlW%d9T zgN4uV@h#s9LL)-r@-!aoFcl@G7-=QR$RVo=IeA!`lh+bkYaDGT=txNcWnHQ2Moo9> r3Tfy?Q*T=O(gr%%bScvN?=hp#f&nXrY#Fg<%!vtSrZOcR-1z4Q(-|6* diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$3.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$3.class index 018ff0ea04925c625940f908b2ce38f68e5dc715..8451f99110244816e8ac6bd6a010161f4eb29aa4 100644 GIT binary patch delta 29 lcmcb?c7tuhQ6?saKa-C$xpOi6V_;|a&mh3aI9Y<(0RW%j2;%?% delta 29 lcmcb?c7tuhQ6?rvkIBcG+_@ON7}y!T83Y)8CrdCp004vn2NnPT diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$4.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$4.class index f8390f8432b2eae55fe1b4c941418a77e8f081b1..db6a775e0b0337b304cd0498519fe1c5e6aa9219 100644 GIT binary patch delta 67 zcmX>ra8_W$RyIc2$=lfW8Ok$oGb%6$Fe)*~GO99YF{&|`GpaLqGHNhHGiotpF={gu XGwLvuG3qkZGU_q3F&a%?%Dw^s*?bKV delta 67 zcmX>ra8_W$RyM}W$=lfW8D=wZGv+V|Fy=AHG8QsuF%~hHGZr&=GL|qzGnO%AF_tqF XGgdH^F;+6vGFCCPG1g69%Dw^sTKf?> diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$5.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$5.class index 765606c45d36c5bb487321e400683b4cdfc25d71..f20b5ac72464928c500f225bb2da87fe0626f3bf 100644 GIT binary patch delta 556 zcmZvZT~8B16o#KuceAjrR-g(|pm2!#UCm^3NT#Du7Ki!NqOZAo|WVOp3t zij&|$FMJ&ZyJ6fh%43Feg7YFy4!cR@Fe?=P#yw8MUTOkeisUnM+2aaxf}2F?UYx}H z?MSfvXXU+&bj{;BH-ytKqqNn19;W@c+Y!e7a_d$2CJe&2Y4E5UchdSOJ_`m-sx&)QMWt-bMijpFM2F-M+wR|1Ou@BW;6Rikrj^`tHPA}??(rd;ZZxi*Vfz~ z9!9+|HPM#e95iHpCYKxt7h3(#Rt96aQvVaDu(h^#7f$eoOn#&I z^fQ-stJaXx@3X5X%s2kXn>DLCdtSY_tM-uPW4)VWOzj*aAZs|XPG0I1WP_4yQjrEr zvZV=ZGj6(QcuY`$R)*HOhLESsI(2=n#B^3M{aS@HS*5U4Zy3}j4c#qm%of|KT)io} G>-YtG|7q+1 delta 180 zcmbQh(Z$Mj>ff$?3=9k=42m1M%osTs85mO;8DxAWI*PKomZj#EOrFkUsLIYD%g7*H znpv#xR+N~Vs_&banFnU^FmN)+GcvGfcxr}CKFbur*f?2@Sw6}XXd)93Gj0Sk1c4+Q z10#^%#vlY_i$NqAgc(GDJfJXxID-U`WM+^A@|YN;7^HzT3xf=U9D@Ro#RZfD>IMM- D%o`b} diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$6.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$6.class index cc4e3257fab2474c626a4d39384e5900a8ecf020..08c95cb5ce0851d64914720ea19253086070fbe7 100644 GIT binary patch delta 627 zcmZva+fEZv6o$W5r>PxB2?yn%r5?~uX>}}ML8_=wk(v^@BI=bxGc{vMOFB~zSH1VP zZ{Qn{kV-W10ek`9#<->uAjX~Sz1PbB@Aa?zYk!XaI&1#?{p|;^KzZLRN;koTaH-=5 z&U)M3^_(rQU2nB_2Z_lPR}x$nMo$QvuHPJ>7AdBMq+6?bK`>L87czGBKg3eD`p$jt zI-SsOI8{FgOD5x7wMcTUtF`Ta;p}!qxM4BFO~DMjaN7_3orWhE_Uj0pB4c5b70$i& z!fLDLhJLFljMzt7?uXFXYWdBulqARP1bN}Ypo?R~;ttLmK|boPM6`m%9FAt6BK-x6 zdlXec^-mPycBS&Sza@+NEDIBgm%X~%X@qNyR^YwZ^V&!47!2~mGoxb=yN^F``kKUcI7y{TQu^i zi;B+Y<9!zQ^=*t{J*P>4lo^tzjLAA_c}7k)n3D>N@|=;uXBcQP%9v)Vxff$?3=9k=42m1M%oryxU{am@lu1vOok5n7LAW%tSl_KEF*jA;H!(90 z%;I6-WRPcMVA1f@44W*$9KqNzxsX{t$`oh@6A&|Q1TzGIBpU-Gkl)Q91Z0arBpHMm pM1VY?FoQUQ1dwEAkOcCW7^E1afiw$)41*kl0+7W8lmqGp0RTS67jOUo diff --git a/GradingSystemWMX/bin/uis/Frame/MainFrame$7.class b/GradingSystemWMX/bin/uis/Frame/MainFrame$7.class index 9eddb67564e797733af9c6c82b0525ef7513d6a2..8e6ed5c024490ce7e0ef233508d115fe78031074 100644 GIT binary patch delta 625 zcmZuv+fEZv6kWT_q;xz=3Yb!qRuN=|R>xv3NVQ%{h?BGdZw;FGaM~Qqm^x!RQ_!cr z``SP74@gKQn)m^}`#Z)xqY;~U9`@y|z0cZN`+U@YOd8*Re)$HVjIAT1LW3mc2${Yc z*xNn%R@p6A9Xj5=A7=*UaWRPtgqhQdrgXg+6<9!ykdmE_3WB9lnXqg&{!>`B8f_)L zz^?oKUZAQ5GPop=!etsDZH|LhD}t{GEMb{o1S)K~f!ppXf@Z#q(0Qx~n6LHde6p*%1Q!j@zsZjzbtSI z6=q=mQwH61oZs_p2;9adVUF=FwJ-bKu-^3pwewE({*0rU&ag%+xx|4>$o`|tn8d?2 zmGnr9&EW~{QFEA1Kqx|N$mOj0=7kg3;+NC delta 162 zcmXAgOAf(c6otS0w_2nFlzP7+5++70!UjZa!afWn{9}vg)W8DFt-wCSDL1+2ne!^2 zO10=DI!e)1mY#C-m1m$LLzN;8Y}wHcBe^*880*eN52gy3>B(F# p7JB3A!%|;X`mrX)h6G!Z?8tDSz>zX1Dx9&nP{&hRQuAiT{XfDwAprmY delta 146 zcmWN?yAHts0EW^3Gc_b#q{Jc-iAmxCgta@XM-Z#gX0SHiz-TBX)Gcv|VsM+p;u%ae z>Tq&GE418-!O*K3Jvy#TMoKbP22WWg$}v@enTnA*b2Xz|_-eCIm!31^XG;87DCCGfrd>VVuMu$vAluvljri-U$l; delta 34 qcmX@bc8YDoTqeeQljku73O;6FXMDoI&-j!YQ3AZ_D@@uUEpcg7Xu#h%38cQJ3oJvBZ|16UBqZJeu%&C^hMcOx%p!! ztyr}(Kig9~yo!9#oIfH`PlPvOJ*6YAQFYp7r)N#jNoo7bj&3_Hnu)XUB-m(pgg3n_QchQdhLF$%*m8jm9wPap(SFa|Rbh75#bDaIlPk;sDstKh_HM8S<{ zY{od0AqKlJ9#wb}4VZxAcp5E;!4m8rj6^+q_GZjc?9V^g?Vg620uq8uV6lJU;*!9p&(umKFAXO zSS&_jiI{IA z(5QWINDspq9gMR&0xdcgJvxP2r_s<0Y16N;pI%EZT}-#P-pT&@1N!J{`s&jhpj+vu z+c{9*rd@Y)kU>6R1aPqND2EuK^f%%eU?lTl<2eQznH*;1(q$Ad+9+m%QN|RblIcbx z=NYH?ywS!?<0=;zx46jYiYJ-kE3E_(474&bjG%)1=Q-x$Ph zhO&cE{DblAp)HAjau$0%HpfKrF>{L3$wafz(rIRu(`oK=`j|gDL(EH-2S$Z(x;Z(@ z$?;}^r7`9{OQX$8Q4YqMelCaL1vA0r delta 1150 zcmYjRZ%mbS6n@V6{eJI_c1>@fQ4kU0y>;d9<$_EBFABm1FaN##2SKEWLY+23MiulsU}Xw6!(Xv#p`2vCaRL`Z3slE9@jupxz%Ir_%5s z*80B)ze)0>MFjZABQ6Qklm+)o@3cnz&xaQ9uNUxp3wWgMFiCyVHsIR?iAY$m0%5RX zC2UB>Q^R75WVKF|5Wg)?flDxBwTfA|2mj z9d2Sh{y+xikx2o_q9A0`6L6CqIh2T8a$zGC`QV{CgF@;<5e>pi!ziWG zD5G;Ir^~3IYp9}cP)#$ap6S5?!`79z;>R*4!&s2tJulDY3$+|wDNCg6AHVlfumy?(5z0ZZ@=`?eGQ=5|UB!>W!;fJPhhRU4 z;;7*{!QuXlXd;bQK(bZOjp?=W(_mhSMH~eS$H309h~ao-u>-m6L>?!ih?D&)cAR{i zf&fm%VopOCyO7A~Nac0d!0VCE87SjSBUl@Z0A=AN&PF@C(ZjhI0&O6aSPPTgNwTon4YLy- z_0iT>RjjR2A5^Q>2WYk07TrLjEmm7=wY6$}TWfu5ZPnVU)$bGkduOtl-9W$Q%Qu;O z?z!jrpL5UT;s4!pFMt*JuLhsMjFD6>y1_Dr%;+}L>d#t3YN5d|5ZY@TFb+j?2UD4W z=w?M1n36Va+q48~<8nJXVyDv4O-638(->|RsOU}&WDI-6G6iCjIa(Z2+MvX4+oIrR z52Yhxn**lRe2ElfXKf=LPvvZZYL6gE;dXrq$t$=$JJOdnm6SkBBAv>l>`Mg78X9{9 z{B7B!siB(oPnh3oS;k>0IEZNo>8M2&9c@tuDWRss=PqQEAc7;Eoa)@ zsjI1~yrH9`u}8yPftm@^-N*+q2O(+dMLNncC4l(?qBV$xXw=X!enN%a4YH0VETa4a zMta2D+D{}jbTpnL7gF+K9ZL{p2!}_Qja9BAO4`=Gy=KDpCefvMWx1pPUQMgk1+bid z+5&hD|Fl!t` z@9MY|txS8yJVev$#wB=d*U%K!_Iu#;Pqxm{LJsl9G-$guCy(JSpOGm=Re#4B~Y4p$KqgGR1P#fvr5t6@)R zE7)da%ybaD9jGRBBta8opxWp;u`C%p`7#dLQMtpIu(|^nAey_gBlchrDeTj*cRY1P zjM6%q-{{80*&7GmSw%4&asSSAxZOdI&6%v z*RaSOPJ!7Tbq=l5$QZIKNd*T>LlHOn%ya7wyH42XP(VqT$UHJ5euf*>sv^n9648(pxc;fX`(uTPFGK zIrSu~4S&{=CBy0_ml&1jP3Xu{wnlC=&;+uRq)%mfp6pCCNk zZade#?Tk#q4B%7J5mn=JRgnj9oVr_wvLhM00-wR{8a~SoKA|ZwXjpc1IGwel+xXaO zr3gwxCP2sM@Oeh5XZ_{dJK9>~ENqX3=RemR#20XUd%2BsT-iP~T8~D1w+=fX3^n|6iu_u5Bh`Kf+NzPY(dr;aj zGk)#~jaOr3&Y2vXAxU#ra!e_@%*ZL&M?;>L>0*J!IxJiHZr;mvYP&G)DeI++rqz8AC zk4#1#%}{yc6eC0CZH5GL;;QctZYEj$zuaQPiA7-CbPzFoRDi1{D1YMFCf}n8`gybXW@T zKS*)Yd7!Il6tkLY%I5MnkJ)3GLviy?;=;ReVW__B6c*$W*(n!Gy^Ceu#ftI8qSIh$ zbe+J?#i!9Ca0cr-BYCvP{1g!O=dtOS5*!|1$IoD49^3qTTs&dl{WPxd zDVeVoxaI8eG3=(1MrTtVeUVUq9)poF4DHgY1J%ju;3%?rSYtS_D|BcSS9e7g=kZ2* zP4L>m)#<73>1mPhG|77kx5lbNw}n0# z`gEAVKjAN9Ht&elglqCR84HC&d7O^bj^Vyt;Tr!az80&KVGq}ZzQMSM>tx`0q|AxB z#Gqec@L4qT{UWaFiMRR0-vT}tVi_8+7LAA#!g~-wKNe#@KLc+-6gOchZsoraZs*=f zj+A3qg$J-2Kc=jw(1JhU5*GJb;m4&S#LurV){A;<5R0%$tVV~}h|Qu4aj^@XVh_K7 z`ms%1gUiH?{CkYU>K)iF#;`-&kDcNXTp=DuuXvi#ei2u)ny&JdV~VHOI8#f#5cK;Zx5*w z-ox*=Z{cB9U_aXNZG4AO852kG2p%QvDKUia;xUv7zu1iL;rsj_Nl3Kd2c(sYdeMZ( z`8GwY7Sr)V?rLJA(C{PD0`&9+M&~h9(APiWC)^Fv<7)hrZQEI%0i8ffZDHl8)WS!S}_A!t}fl7^>w_AHN=@I8d8 zalYLe4rn-{o<%Q?%-M`Dr*~?VP4Q;NRd&9fF+9Tt@z*U)s)^;nHuJa8bD{b?o>!!$ z1rpyJ(y{`HZw_fifyB4xo9?7!r@zi(hXsb&LHA=eETT7uR(|qr=f|1Efs99hUqesg M-&_g2s80Up|G4Bok^lez delta 135 zcmZ3iHk*m-)W2Q(7#J8#7z8GAnakQ_=4F=HF)}b~XofK|usG+Zq;fGZGjQ@Surjbs zwqn$rypmICvN*4X7Xt$$5CTPkBs-14A8yH9^C4&ot6+<47U%_C*P{&|9`3c(; E034_arvLx| diff --git a/GradingSystemWMX/bin/uis/Frame/StartFrame$2.class b/GradingSystemWMX/bin/uis/Frame/StartFrame$2.class index cb8d12998fca2145fd76955876aabbfa6ba92da2..955e41d6d7b0f58431c552a07bbb8d30a844742d 100644 GIT binary patch delta 87 zcmey#|C4`%4I881WLvh&t^o|}3_%QB48aV%3?U4H3}FmP4B-s=3=s@=3{ea|4ABgM o3^72FScU|KIEHi}S;COWP{okM(8iF=Fo_|BVKzhBXF=8HyRS8A=$87)mFXFvkG^81xGG delta 43 zcmcb_eu;g<2PVdh$sd`rB(oUU8L}Dp8FCmz7;+ip8S)sk8S)v77z!qrFvkG^74izu diff --git a/GradingSystemWMX/bin/uis/Frame/StartFrame.class b/GradingSystemWMX/bin/uis/Frame/StartFrame.class index ff3abd4276ad37064e6bbac784a6c584ea0215ff..eadcb10b74b69193a483d438cde5f55fcb9ee1ec 100644 GIT binary patch delta 1749 zcmZ8hYj6`)6#i}=-R-hvNGQ-YEd!&aAx$Zz(18|ETiV)^7O=G#RAAdIZD`okWJ3!I zLEZ&XWK{%w;R}3$2;D#fXzLrr2fmdb{PUMTbjBHHWW;k5aHzYp_wGH9@1F0TbI%^v zZw1nYe+JJ3n2BFbNVS%UqgN|yl~ScwFRclO!VwA6P$pwMW-w&98;q#MU6d77^=hS~ zyE77wX#s|@Zr@0!s;O-PDvc&fUfvwc<=*oc?Cyq!scjN%beoLZafflhGOf5q#saPs z2(l%(UKLQs;N)n1rP1D?)>+!*r0ST~y)HJXKCE{IJ0vVZD@VPXVS+K)I<`I? zXf2k?xCj1pbR2_1yNN275K|sSg^2rzVRJa5cX5WxWvswTW1+QTZo7;QxEREs7StCg zx*|YjaEzoFjOv+S=#-HONkRZY9?xpyoYf@;5R$P5nsLQCF{6hAKVaBwr7UVR*>gsh zNr)iEt=BSmjbmcIvDW4!r#>0$u-@2f^Th*rNX7RR|5@NKX@#FH4!`LkZQu(s$gV|gso^4u!~`QEEp}V zix_QoXI4LAT(L*Sqj=1S*{hrz(Ia9XRaK3mb*Lc$PoxNyOEB;hC$yg-mk3QTuG!CK zye#7tylM<(xR)H2;lSuocpYyFc!MEbu`xXuD)rGp%6JRM7;I50CkCr~YJ-5ciF&FU zLJE~siyooM;sEc+IEhn6r7$VaWRTlcMT=71$0AWx!T?UoIDu7$mDs zRj&yt(P*p6$qwLM8Sjly_*Eq$VA!}Q~`V-jHT$0}Q2IRxsrNp_J zAd}eYcWzH$XQeIImPCKbf47N8N^)%`_AX87ALn{|u009EPcb~1Qro#YeuA2l1%)(f zaM4%@8^%FG4vkabMiFMySPc(+D8@>7(Ss6fqQ12YWmIi5a1iBqo^It)R8YF=F^C2X zqY;;|5SP(}U#W%siPgA@5EHP5Wuuq5&`0RN`~~S$&^B&b`Y20J;{e^&gV;>pAqs66 z%kT`Ig_VG2;W^sMMlj>>0{z)3*u&JW_KqryZ=h8?1v;L*K)7j4{`Vq%jHJ{mXwISJ z=a99XtPBt3;uaGx4d4j>J#q%GQFX68hvNfS#q(r!=C|199zi?Tx@>_nIANiR959h+ zx=9pI%aYAE$bG7fR?e@kPs4#$4R${NZbdcuK6P zlz1o+ppzJdEhwP-U5IUzi0zn%9axN=)XDm3wGI2QJ1<3jW}4J>>P6_r*SKU{lqY9@ zLqM6ZT!n}IjpbuRe2ec4OIDfnd;DNjWKA#nkqj*O2|v@ENBc);=1+fmqPCHG{sr6h BvvU9d delta 1445 zcmY*YTT@$A6#jN{ayy)1ns6s=r&s#Mh>sxF8yzRVG z{{F8!8vyp;?uy)E;2VZQr4rQ&@=?QJa`AD4i~nlyAp)q?%J+E~Eu z=WWK4tOhiSkS2ya{-ZIcpuF3PgB0I65!FUzVsBOOAP(_*XeY+!g;feo?@9}WxtNB9lNY4zcVf=AKKe~`ADdj)ZT z|1No@#~AYGw&dDNs%7-ys0cX5;BooL$oox&6xgpIhyi}qeq)u5d!r<7HP**UbhGh(+*orYK%s&y=MlA?4e%J%z;~Qi6L8L=Z$NjuvciR;5EF? zAjPPI3`SRZn+2Cifix-{BM8T)H z!GE&u&0RvH70V3lxQr!yq2MNNaj&i3x&&Q85{oyZw#zILhY4ny+V9*+6uBK+SFzol z!j3=^_pV~6TL+yg14d&KRXTRN?d-0dd34mK&=7DONa6vXz})9(*3m)~Z7KKy?px?g zqN~GW)ZrIy3h3$aq|g^|dy;ru$8q5rOkp@dKN{^6m#~MUswFJ!$`x@SBQEDNG0GpHHRTCgEP8N(|UV-#%(BXeS{LG79NiN~bb-QI1-; z(Tob3_R0kOWa>o~4RZ}5WR9T)Gib$gIE0I6!&RE>YZ$>YMzM}4z9mE{Q6I?2MwBi( z)za7`aF*_wpD<738A@XY?RXaFU?iTs#5YUHEK?%S)6PWu7tjR$i&B!9qT_U$G@rsi z#2Hetdy!s7R=Vf376Po0&?Z80H|e}n$4jfYAhs9QaFOP*e;xCy=oCFLI=1?yhU*v* zUZ*s)hBplO8VfqEcKpwj$k^T!F`Hr6>LkJAOkpYDxs8vL_{{OSjup|1l?r-wtoqL} z<`k%n#lNoz{f%k;-K08j8d*4lZ6wVu630!#>?diuNR}ZIW|nN1Fk751eNU#Se@ic; zi+mevydwLa+&e^MgW*rO*&jHz#flWZ!o#3LzA57jSSMjIb} zcnr%k{+q{zm03Iz6RQow!k$#p?laWeoe_iA*NJGLj>QlUun=I0q4_z_Wvb>v+4Uom zZh+xoh(~A=izf-gN_$W$XI!Q6_wkIhd!3&F9#hK`A=9aCe>FTQxD}lMPl#}v{h<YFT`|^KmY&$ literal 0 HcmV?d00001 diff --git a/GradingSystemWMX/bin/uis/Frame/ViewInfoFrame$2.class b/GradingSystemWMX/bin/uis/Frame/ViewInfoFrame$2.class new file mode 100644 index 0000000000000000000000000000000000000000..75984f277c0125ebd64c7fd2228dc1d6abaa53a6 GIT binary patch literal 718 zcmaJiAM+@OfUx1Ktgh&iKgGT*8!GXcg^h;evXlU zKmwBZ!5`p{GR~g;g0XHg*_~%+o_S_=fByRZ1Hd-g0V;%*v3Bu(u0|a9HJ=}tBU^gy ztpGJb^HiOwI8)|0em^+nv z33{!KF5VDYovBe9eL}5ghg=8YUW5R%A*yIZsG~`!c6>l1(S{GlqXFli)F5NRd}33T z^;NFDKLKlA6k&B*vG$gTYN)c651b#_e8fY-dMEj3w|lbryRv(h+3pphZ&>=9o>llpWXlf literal 0 HcmV?d00001 diff --git a/GradingSystemWMX/bin/uis/Frame/ViewInfoFrame.class b/GradingSystemWMX/bin/uis/Frame/ViewInfoFrame.class new file mode 100644 index 0000000000000000000000000000000000000000..cfacd27a8aef26eb965741b15338ef4c360c98d6 GIT binary patch literal 5940 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 MyoMuxq&pb@0O(Lm%>V!Z literal 0 HcmV?d00001 diff --git a/GradingSystemWMX/src/uis/Frame/AddStudentFrame.java b/GradingSystemWMX/src/Abandon/AddStudentFrame.java similarity index 99% rename from GradingSystemWMX/src/uis/Frame/AddStudentFrame.java rename to GradingSystemWMX/src/Abandon/AddStudentFrame.java index 4dd8030..e54d916 100644 --- a/GradingSystemWMX/src/uis/Frame/AddStudentFrame.java +++ b/GradingSystemWMX/src/Abandon/AddStudentFrame.java @@ -1,4 +1,4 @@ -package uis.Frame; +package Abandon; import java.util.Vector; diff --git a/GradingSystemWMX/src/uis/Frame/DelFrame.java b/GradingSystemWMX/src/uis/Frame/DelFrame.java index e003f3a..87ef493 100644 --- a/GradingSystemWMX/src/uis/Frame/DelFrame.java +++ b/GradingSystemWMX/src/uis/Frame/DelFrame.java @@ -22,7 +22,8 @@ public class DelFrame extends JFrame{ private Assignment assignDel = new Assignment(); private int uniqueID; private String[] names; - ArrayList del = new ArrayList<>(); + private String del; + //ArrayList del = new ArrayList<>(); public DelFrame(int uniqueID, String[] names) { setSize(300, 300); getContentPane().setLayout(new BorderLayout(0, 0)); @@ -48,7 +49,8 @@ public void valueChanged(ListSelectionEvent e) { ListModel listModel = list.getModel(); // setDelItems(listModel); for (int index : indices) { - del.add(listModel.getElementAt(index)); + del = listModel.getElementAt(index); + setDel(del); } } }); @@ -62,9 +64,9 @@ public void valueChanged(ListSelectionEvent e) { delbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { boolean flag = false; - for(String name : del) { - flag = assignDao.delAssign(uniqueID, name); - } + + flag = assignDao.delAssign(uniqueID, del); + if(!flag) { JOptionPane.showMessageDialog(null, "Update failed!", "Error", JOptionPane.ERROR_MESSAGE); }else { @@ -85,4 +87,8 @@ public void actionPerformed(ActionEvent e) { buttonGroup.add(cancelbtn); } + protected void setDel(String del2) { + // TODO Auto-generated method stub + this.del = del2; + } } diff --git a/GradingSystemWMX/src/uis/Frame/InfoFrame.java b/GradingSystemWMX/src/uis/Frame/InfoFrame.java index a93e7cf..6c5a35d 100644 --- a/GradingSystemWMX/src/uis/Frame/InfoFrame.java +++ b/GradingSystemWMX/src/uis/Frame/InfoFrame.java @@ -6,6 +6,7 @@ import beans.Assignment; import beans.Course; +import beans.Student; import daos.AssignmentDao; import daos.CourseDao; @@ -61,30 +62,27 @@ public class InfoFrame extends JFrame{ "Quiz" }; private static String[] terms = {"SPRING", "FALL", "SUMMER", "WINTER"}; - private static Vector columnNames = new Vector() {{ - add("Assignment Name"); - add("Weight(Graduate)"); - add("Weight(Undergraduate)"); - add("Category"); - add("Comment"); + private Vector columnNames = new Vector() {{ + add("Assignment Name"); + add("Weight(Graduate)"); + add("Weight(Undergraduate)"); + add("Category"); + add("Comment"); }}; + private JTextField nametv; + private JTextField wgtv; + private JTextField wutv; public InfoFrame(String classid, String classyear, String classterm) { setSize(800, 501); -// if(!classid.equals("") && !classyear.equals("") && !classterm.equals("")) { -// -// }else { -// -// } - if(classid.equals("") || classyear.equals("") || classterm.equals("")) { title = "Empty template"; } else { - title = classID + "_" + classYear + classTerm; classID = classid; classYear = classyear; classTerm = classterm; + title = classID + "_" + classYear + classTerm; uniqueID = courseDao.getuniqueID(classID, classTerm, classYear); course = courseDao.getCourse(uniqueID); className = course.getClassName(); @@ -168,8 +166,9 @@ public InfoFrame(String classid, String classyear, String classterm) { credit.setColumns(10); credit.setText("" + classCredit); - - table = new JTable(formData, columnNames); + DefaultTableModel tableModel = new DefaultTableModel(formData, columnNames); + table = new JTable(tableModel); +// table = new JTable(formData, columnNames); table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); table.setFillsViewportHeight(true); @@ -225,14 +224,102 @@ public void valueChanged(ListSelectionEvent e) { JScrollPane jsp = new JScrollPane(table); jsp.setViewportView(table); getContentPane().add(jsp, BorderLayout.CENTER); - - JPanel panel = new JPanel(); -// assignInfo.add(panel, BorderLayout.SOUTH); - getContentPane().add(panel, BorderLayout.SOUTH); - panel.setLayout(new GridLayout(1, 0, 0, 0)); + + JPanel panel_1 = new JPanel(); + FlowLayout flowLayout = (FlowLayout) panel_1.getLayout(); + flowLayout.setAlignment(FlowLayout.TRAILING); + getContentPane().add(panel_1, BorderLayout.SOUTH); JButton refreshbtn = new JButton("Refresh"); + panel_1.add(refreshbtn); refreshbtn.setIcon(new ImageIcon(InfoFrame.class.getResource("/javax/swing/plaf/metal/icons/ocean/upFolder.gif"))); + + JButton save = new JButton("Save as template"); + panel_1.add(save); + + JButton startbtn = new JButton("Start/Continue"); + panel_1.add(startbtn); + startbtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { +// dispose(); + List list = assignDao.assignList(uniqueID); + Double totalWeightG = 0.0; + Double totalWeightU = 0.0; + for(Assignment ass : list) { + totalWeightG += ass.getWeightG(); + totalWeightU += ass.getWeightU(); + } + if(totalWeightG == 1.0 && totalWeightU == 1.0) { + if(!title.equals("Empty template")) { + MainFrame mf = new MainFrame(uniqueID); + mf.setVisible(true); + int x = getLocation().x; + int y = getLocation().y; + mf.setLocation(x, y); + }else { + JOptionPane.showMessageDialog(null, "Please save this new class first", "Warning", JOptionPane.WARNING_MESSAGE); + } + } else { + JOptionPane.showMessageDialog(null, "The total weight is not 1.0, please modify assignments!", "Warning", JOptionPane.WARNING_MESSAGE); + } + + + } + }); + startbtn.setBackground(new Color(204, 255, 204)); + startbtn.setIcon(new ImageIcon(InfoFrame.class.getResource("/com/sun/java/swing/plaf/windows/icons/DetailsView.gif"))); + startbtn.setForeground(new Color(0, 102, 51)); + + JButton cancelbtn = new JButton("Cancel"); + panel_1.add(cancelbtn); + cancelbtn.setIcon(new ImageIcon(InfoFrame.class.getResource("/javax/swing/plaf/metal/icons/ocean/paletteClose.gif"))); + cancelbtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + dispose(); + } + }); + save.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { +// dispose(); + Course newCourse = new Course(); + Float newCredit = Float.parseFloat(credit.getText().toString()); + String newID = id.getText().toString(); + String newName = name.getText().toString(); + String newTerm = comboBox.getSelectedItem().toString(); + String newYear = year.getText().toString(); + + if(newCredit != null && !newName.equals(null) && !newTerm.equals(null) && !newYear.equals(null)) { + newCourse.setClassCredit(newCredit); + newCourse.setClassID(newID); + newCourse.setClassName(newName); + newCourse.setClassTerm(newTerm); + newCourse.setClassYear(newYear); + + //update db + if(title.equals("_") || title.equals("Empty template")) { + Boolean flag = courseDao.addClass(newID, newCredit, newName, newTerm, newYear); + uniqueID = courseDao.getuniqueID(newID, newTerm, newYear); + setUniqueID(uniqueID); +// Boolean flag1 = assignDao.addAssign(uniqueID); + if(flag) { + JOptionPane.showMessageDialog(null, "Success!", "Info", JOptionPane.INFORMATION_MESSAGE); + title = newID + "_" + newYear + newTerm; + setT(title); + setTitle(title); + }else { + JOptionPane.showMessageDialog(null, "Fail!", "Warning", JOptionPane.WARNING_MESSAGE); + } + //update assign + + } + + }else { + JOptionPane.showMessageDialog(null, "Please fill all the fields above!", "Missing fields", JOptionPane.ERROR_MESSAGE); + } + + + } + }); refreshbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // String note = "Update fail!"; @@ -258,31 +345,126 @@ public void actionPerformed(ActionEvent e) { } }); - panel.add(refreshbtn); + + JPanel panel = new JPanel(); +// assignInfo.add(panel, BorderLayout.SOUTH); + getContentPane().add(panel, BorderLayout.WEST); + panel.setLayout(new GridLayout(12, 5, 0, 0)); + + JLabel lblNewLabel = new JLabel("Assignment Name"); + panel.add(lblNewLabel); + + nametv = new JTextField(); + panel.add(nametv); + nametv.setColumns(10); + + JLabel lblNewLabel_1 = new JLabel("Weight(Graduate)"); + panel.add(lblNewLabel_1); + + wgtv = new JTextField(); + panel.add(wgtv); + wgtv.setColumns(10); + + JLabel lblNewLabel_2 = new JLabel("Weight(Undergraduate)"); + panel.add(lblNewLabel_2); + + wutv = new JTextField(); + panel.add(wutv); + wutv.setColumns(10); + + JLabel lblNewLabel_3 = new JLabel("Category"); + panel.add(lblNewLabel_3); + + JComboBox catselect = new JComboBox(categories); + panel.add(catselect); + JLabel lblNewLabel_4 = new JLabel("Comment"); + panel.add(lblNewLabel_4); + + JTextArea commenttv = new JTextArea(); + panel.add(commenttv); + JButton addbtn = new JButton("Add"); addbtn.setIcon(new ImageIcon(InfoFrame.class.getResource("/javax/swing/plaf/metal/icons/ocean/expanded.gif"))); - addbtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - if(!title.equals("Empty template")) { - DialogFrame df = new DialogFrame(uniqueID); - df.setVisible(true); - int x = getLocation().x; - int y = getLocation().y; - df.setLocation(x, y); - df.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - }else { + addbtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String s = (String)catselect.getSelectedItem(); + Object []rowValues = {nametv.getText(),wgtv.getText(),wutv.getText(), + s, commenttv.getText()}; + Assignment newAssign = new Assignment(); + newAssign.setAssignName(nametv.getText()); + newAssign.setWeightG(Double.parseDouble(wgtv.getText())); + newAssign.setWeightU(Double.parseDouble(wutv.getText())); + newAssign.setAssignCat(s); + newAssign.setComment(commenttv.getText()); + newAssign.setClassID(uniqueID); + + boolean flag = assignDao.insertAssign(newAssign); + int id = assignDao.getIDbyName(uniqueID, newAssign.getAssignName()); + newAssign.setAssignID(id); +// boolean flag1= enrollDao.updateEnroll(classUniqueID, studentID); + + if(!title.equals("Empty template")) { + assignList = assignDao.assignList(uniqueID); + formData.clear(); + for(int i = 0; i < assignList.size(); i++) { + Vector row = new Vector<>(); + row.add(assignList.get(i).getAssignName()); + row.add("" + assignList.get(i).getWeightG()); + row.add("" +assignList.get(i).getWeightU()); + row.add(assignList.get(i).getAssignCat()); + row.add(assignList.get(i).getComment()); + + formData.add(row); + } + jsp.validate(); + jsp.repaint(); + JOptionPane.showMessageDialog(null, "Successfully upadated!", "Info", JOptionPane.INFORMATION_MESSAGE); + }else { JOptionPane.showMessageDialog(null, "Please save this new class first", "Warning", JOptionPane.WARNING_MESSAGE); } - } - }); + if(!flag) { + JOptionPane.showMessageDialog(null, "Add failed!", "Error", JOptionPane.ERROR_MESSAGE); + }else { + JOptionPane.showMessageDialog(null, "Add Success! Please click 'Refresh'.", "Info", JOptionPane.INFORMATION_MESSAGE); + } + nametv.setText(""); + wgtv.setText(""); + wutv.setText(""); + commenttv.setText(""); + catselect.setSelectedIndex(0); + + } + }); + panel.add(addbtn); + + JButton delbtn = new JButton("Delete"); delbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(!title.equals("Empty template")) { +// int selectedRow = table.getSelectedRow(); +// if(selectedRow != -1) +// { +// String aname = (String) tableModel.getValueAt(selectedRow, 0); +// tableModel.removeRow(selectedRow); +// int aid = assignDao.getIDbyName(uniqueID, aname); +// boolean flag = assignDao.delAssign(uniqueID, aname); +//// boolean flag1 = studentDao.removeStudent(buid); +//// boolean flag2 = enrollDao.removeEnroll(sid, classUniqueID); +//// boolean flag3 = gradesDao.removeGrade(sid, classUniqueID); +// +// if(!flag) { +// JOptionPane.showMessageDialog(null, "Delete failed!", "Error", JOptionPane.ERROR_MESSAGE); +// }else { +//// update(); +// JOptionPane.showMessageDialog(null, "Delete Success! Please click 'Refresh'.", "Info", JOptionPane.INFORMATION_MESSAGE); +// } +// +// } if(formData.isEmpty()) { //TODO: Create a pop-up window to let user add assignments // JOptionPane.showMessageDialog(null, "Empty form!", "Error", JOptionPane.ERROR_MESSAGE); @@ -301,9 +483,10 @@ public void actionPerformed(ActionEvent e) { dispose(); } } else { - String[] names = new String[table.getRowCount()]; - for(int i=0;i= 5 + assignList.size()) { - return; - } - - Student s = new Student(); - String buid = (String)studentform.getValueAt(row, 0); - int id = studentDao.getIDbyBUID(buid); - s = studentDao.getStudent(id); - - for(int i = 5; i < assignList.size(); i++) { - a[i] = tableModel.getValueAt(row, i); - - System.out.println(a[i]); - Double g= 0.0; - try { - g = Double.parseDouble("" + a[i]); - - } catch (Exception ex) { - ex.printStackTrace(); - } - Assignment a2 = assignList.get(i - 5); - boolean flag = gradesDao.updateGrade(g, id, classUniqueID, a2.getAssignID()); - Double total = calculate(s, assign); - tableModel.setValueAt(total, row, column.indexOf("Total")); - tableModel.fireTableCellUpdated(row, column.indexOf("Total")); -// total = getUpdatedData(); - boolean flag1 = studentDao.updateTotal(total, s.getUniqueId()); - String letter = getLetter(total); - //TODO customize -// studentform.setValueAt(letter, row, column.indexOf("LetterGrade")); - tableModel.setValueAt(total, row, column.indexOf("LetterGrade")); - tableModel.fireTableCellUpdated(row, column.indexOf("LetterGrade")); - flag = studentDao.updateLetter(letter, s.getUniqueId()); - if(!flag) { - JOptionPane.showMessageDialog(null, "Invalid", "Error", JOptionPane.ERROR_MESSAGE); - } - } - - } - - - - } - - } - }); - */ + //update ListSelectionModel cellSelectionModel = studentform.getSelectionModel(); cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); @@ -286,14 +216,8 @@ public void valueChanged(ListSelectionEvent e) { int id = studentDao.getIDbyBUID(buid); s = studentDao.getStudent(id); if(selectedColumn >= 5 && selectedColumn < assignList.size() + 5) { - // grade -// String bu = (String)studentform.getValueAt(selectedRow, 0); -// -// int studentID = studentDao.getIDbyBUID(bu); -// System.out.println("StudentID " + studentID); int assignID = assignDao.getIDbyName(classUniqueID, (String)column.get(selectedColumn)); String assignName = (String)column.get(selectedColumn); - //int gradeID = gradesDao.getGradeID(studentID, classUniqueID, assignID); if(isAdjusting) { addGradeFrame a = new addGradeFrame(assignName, id, classUniqueID, assignID); a.setVisible(true); @@ -304,7 +228,7 @@ public void valueChanged(ListSelectionEvent e) { } }else if(selectedColumn == column.indexOf("Total") || selectedColumn == column.indexOf("LetterGrade")) { - //calculate the total score and generate the letter grade + if(isAdjusting) { Double total = calculate(s, assignList); @@ -339,20 +263,20 @@ public void actionPerformed(ActionEvent e) { viewbtn.setBackground(new Color(210, 105, 30)); panel.add(performbtn); panel.add(cancelbtn); - lblNewLabel.setForeground(new Color(211, 211, 211)); + lblNewLabel.setForeground(new Color(255, 248, 220)); panel.add(lblNewLabel); panel.add(viewID); - lblNewLabel_1.setForeground(new Color(211, 211, 211)); + lblNewLabel_1.setForeground(new Color(255, 248, 220)); panel.add(lblNewLabel_1); panel.add(viewFn); - lblNewLabel_2.setForeground(new Color(211, 211, 211)); + lblNewLabel_2.setForeground(new Color(255, 248, 220)); panel.add(lblNewLabel_2); panel.add(viewLn); - lblNewLabel_3.setForeground(new Color(211, 211, 211)); + lblNewLabel_3.setForeground(new Color(255, 248, 220)); panel.add(lblNewLabel_3); panel.add(viewMajor); - lblNewLabel_4.setForeground(new Color(211, 211, 211)); + lblNewLabel_4.setForeground(new Color(255, 248, 220)); panel.add(lblNewLabel_4); panel.add(statusSelect); @@ -386,48 +310,48 @@ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { //return to the preview page to select the template or start a new one //pop-up window to make sure she would like to cancel the pj without save - + dispose(); + StartFrame sf = new StartFrame(); + sf.setVisible(true); + int x = getLocation().x; + int y = getLocation().y; + sf.setLocation(x, y); + sf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } }); performbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + PerformFrame pf = new PerformFrame(studentList); + pf.setVisible(true); + int x = getLocation().x; + int y = getLocation().y; + pf.setLocation(x, y); + pf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } }); viewbtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // dispose(); - + ViewInfoFrame vi = new ViewInfoFrame(course); + vi.setVisible(true); + int x = getLocation().x; + int y = getLocation().y; + vi.setLocation(x, y); + vi.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } }); panel_3.setBackground(new Color(139, 0, 0)); getContentPane().add(panel_3, BorderLayout.NORTH); - panel_3.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); + panel_3.setLayout(new FlowLayout(FlowLayout.TRAILING, 5, 5)); // newbtn.setBackground(new Color(128, 0, 0)); panel_3.add(newbtn); // logoutbtn.setBackground(new Color(210, 105, 30)); panel_3.add(logoutbtn); -// getContentPane().add(panel_1, BorderLayout.SOUTH); -// panel_1.setLayout(new GridLayout(2, 5, 0, 0)); -// -// panel_1.add(lblNewLabel_1); -// panel_1.add(lblNewLabel_2); -// panel_1.add(lblNewLabel_3); -// panel_1.add(lblNewLabel_4); -// -// panel_1.add(viewFn); -// panel_1.add(viewLn); -// panel_1.add(viewMajor); -// panel_1.add(statusSelect); -// panel_1.add(addbtn); -// panel_1.add(delbtn); //add student addbtn.addActionListener(new ActionListener() { - - public void actionPerformed(ActionEvent e) { String s = (String)statusSelect.getSelectedItem(); Boolean st = true; @@ -457,20 +381,12 @@ public void actionPerformed(ActionEvent e) { }else { JOptionPane.showMessageDialog(null, "Add Success! Please click 'Refresh'.", "Info", JOptionPane.INFORMATION_MESSAGE); } -// tableModel.addRow(rowValues); -// int rowCount = studentform.getRowCount() +1; viewID.setText(""); viewFn.setText(""); viewLn.setText(""); viewMajor.setText(""); statusSelect.setSelectedIndex(0); - -// AddStudentFrame ad = new AddStudentFrame(classUniqueID); -// ad.setVisible(true); -// int x = getLocation().x; -// int y = getLocation().y; -// ad.setLocation(x, y); -// ad.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + } }); @@ -491,12 +407,12 @@ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { //turn to the interface: create the pj (select the template or create a new one) dispose(); - InfoFrame info = new InfoFrame(null, null, null); - info.setVisible(true); + StartFrame sf = new StartFrame(); + sf.setVisible(true); int x = getLocation().x; int y = getLocation().y; - info.setLocation(x, y); - info.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + sf.setLocation(x, y); + sf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } }); studentform.getTableHeader().setFont(new Font(null, Font.BOLD, 14)); @@ -505,24 +421,6 @@ public void actionPerformed(ActionEvent e) { studentform.getTableHeader().setReorderingAllowed(false); } -// -// protected Double calculate(Student s, Assignment assign2) { -// // TODO Auto-generated method stub -// Double total = 0.0; -// Double weight; -// if(s.getStatus()) { -// weight = assign2.getWeightG(); -// }else { -// weight = assign2.getWeightU(); -// } -// Double g = gradesDao.getGrade(s.getUniqueId(), classUniqueID, assign2.getAssignID()); -// System.out.println(classUniqueID + s.getUniqueId() + " " + assign2.getAssignID() + " " + g); -// if(g != null) { -// total += (g * weight); -// } -// -// return total; -// } protected Double calculate(Student s, List assignList) { // TODO Auto-generated method stub diff --git a/GradingSystemWMX/src/uis/Frame/PerformFrame.java b/GradingSystemWMX/src/uis/Frame/PerformFrame.java index 30ba954..debf756 100644 --- a/GradingSystemWMX/src/uis/Frame/PerformFrame.java +++ b/GradingSystemWMX/src/uis/Frame/PerformFrame.java @@ -1,7 +1,122 @@ package uis.Frame; +import org.jfree.chart.ChartFactory; +import org.jfree.chart.ChartPanel; +import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.CategoryAxis; +import org.jfree.chart.axis.DateAxis; +import org.jfree.chart.axis.DateTickUnit; +import org.jfree.chart.labels.ItemLabelAnchor; +import org.jfree.chart.labels.ItemLabelPosition; +import org.jfree.chart.labels.StandardXYItemLabelGenerator; +import org.jfree.chart.plot.CategoryPlot; +import org.jfree.chart.plot.PlotOrientation; +import org.jfree.chart.plot.XYPlot; +import org.jfree.chart.renderer.xy.XYItemRenderer; +import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; +import org.jfree.chart.title.TextTitle; +import org.jfree.data.category.CategoryDataset; +import org.jfree.data.category.DefaultCategoryDataset; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; import javax.swing.*; +import beans.Student; +import java.awt.BorderLayout; +import java.awt.GridLayout; + public class PerformFrame extends JFrame{ + private static HashMap letter; + private static List totalList = new ArrayList<>(); + + public PerformFrame(List studentList) { + setSize(800,800); + letter = new HashMap<>(); + letter.put("A", 0); + letter.put("B", 0); + letter.put("C", 0); + letter.put("D", 0); + + for(Student student : studentList) { + String l = student.getLetterGrade(); + if(letter.containsKey(l)) { + letter.put(l, letter.get(l) + 1); + }else { + letter.put(l, 1); + } + + + totalList.add(student.getTotal()); + } + + JPanel panel_1 = new JPanel(); + getContentPane().add(panel_1, BorderLayout.SOUTH); + panel_1.setLayout(new GridLayout(4, 8, 100, 10)); + + JLabel lblNewLabel = new JLabel("Highest Score"); + panel_1.add(lblNewLabel); + + Collections.sort(totalList); + Double highest = totalList.get(totalList.size() - 1); + JLabel lblNewLabel_1 = new JLabel(highest.toString()); + panel_1.add(lblNewLabel_1); + + + + JLabel lblNewLabel_3 = new JLabel("Lowest Score"); + panel_1.add(lblNewLabel_3); + + Double lowest = totalList.get(0); + JLabel lblNewLabel_2 = new JLabel(lowest.toString()); + panel_1.add(lblNewLabel_2); + + JLabel lblNewLabel_4 = new JLabel("Average"); + panel_1.add(lblNewLabel_4); + + Double all = 0.0; + for(Double d : totalList) { + all += d; + } + Double average = all / totalList.size(); + JLabel lblNewLabel_5 = new JLabel(average.toString()); + panel_1.add(lblNewLabel_5); + + JLabel lblNewLabel_6 = new JLabel("Median"); + panel_1.add(lblNewLabel_6); + + Double median = totalList.get(totalList.size() / 2); + JLabel lblNewLabel_7 = new JLabel(median.toString()); + panel_1.add(lblNewLabel_7); + + CategoryDataset dataset = getDataSet(); + JFreeChart chart = ChartFactory.createBarChart3D( + "Student Performance", + "Letter Grade", + "Amount", + dataset, + PlotOrientation.VERTICAL, + true, + false, + false); + CategoryPlot plot=chart.getCategoryPlot(); + CategoryAxis domainAxis=plot.getDomainAxis(); + JPanel panel = new ChartPanel(chart,true); + getContentPane().add(panel, BorderLayout.CENTER); + panel.setLayout(new GridLayout(1, 0, 0, 0)); + } + + private static CategoryDataset getDataSet() { + DefaultCategoryDataset dataset = new DefaultCategoryDataset(); + dataset.addValue(letter.get("A"), "Grade" ,"A"); + dataset.addValue(letter.get("B"), "Grade" ,"B"); + dataset.addValue(letter.get("C"), "Grade" ,"C"); + dataset.addValue(letter.get("D"), "Grade" ,"D"); + + return dataset; +} + } diff --git a/GradingSystemWMX/src/uis/Frame/StartFrame.java b/GradingSystemWMX/src/uis/Frame/StartFrame.java index d22b43f..5cb1c77 100644 --- a/GradingSystemWMX/src/uis/Frame/StartFrame.java +++ b/GradingSystemWMX/src/uis/Frame/StartFrame.java @@ -35,10 +35,14 @@ public StartFrame(Course newCourse) { } public StartFrame() { + getContentPane().setBackground(new Color(128, 0, 0)); getContentPane().setLayout(new BorderLayout(0, 0)); setSize(450,300); JLabel lblNewLabel = new JLabel("Select the template to start..."); + lblNewLabel.setForeground(new Color(255, 248, 220)); + lblNewLabel.setFont(new Font("Toppan Bunkyu Gothic", Font.PLAIN, 18)); + lblNewLabel.setBackground(new Color(128, 0, 0)); getContentPane().add(lblNewLabel, BorderLayout.NORTH); @@ -67,6 +71,7 @@ public void valueChanged(ListSelectionEvent e) { list.setSelectedIndex(0); JPanel panel = new JPanel(); + panel.setBackground(new Color(128, 0, 0)); getContentPane().add(panel, BorderLayout.SOUTH); JButton confirmbtn = new JButton("Confirm"); diff --git a/GradingSystemWMX/src/uis/Frame/ViewInfoFrame.java b/GradingSystemWMX/src/uis/Frame/ViewInfoFrame.java new file mode 100644 index 0000000..802dfd4 --- /dev/null +++ b/GradingSystemWMX/src/uis/Frame/ViewInfoFrame.java @@ -0,0 +1,170 @@ +package uis.Frame; + +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + +import beans.Assignment; +import beans.Course; +import daos.AssignmentDao; +import daos.CourseDao; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Font; +import java.awt.GridLayout; +import java.util.ArrayList; +import java.util.List; +import java.util.Vector; +import javax.swing.JButton; +import javax.swing.SwingConstants; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class ViewInfoFrame extends JFrame{ + private CourseDao courseDao = new CourseDao(); + private Course course; + private String className = ""; + private String classID = ""; + private String classTerm = ""; + private String classYear = ""; + private Float classCredit = (float) 0.0; + private int uniqueID; + private AssignmentDao assignDao = new AssignmentDao(); + private static List assignList = new ArrayList<>(); + String title = ""; + private static Vector> formData = new Vector<>(); + + private static Vector columnNames = new Vector() {{ + add("Assignment Name"); + add("Weight(Graduate)"); + add("Weight(Undergraduate)"); + add("Category"); + add("Comment"); + }}; + + private final static String prof = "Christine Papadakis-Kanaris"; + public ViewInfoFrame(Course course) { + + setSize(800, 501); + this.course = course; + this.className = course.getClassName(); + this.classID = course.getClassID(); + this.classTerm = course.getClassTerm(); + this.classYear = course.getClassYear(); + this.classCredit = course.getClassCredit(); + this.uniqueID = course.getUniqueID(); + + assignList = assignDao.assignList(uniqueID); + for(int i = 0; i < assignList.size(); i++) { + Vector row = new Vector<>(); + row.add(assignList.get(i).getAssignName()); + row.add("" + assignList.get(i).getWeightG()); + row.add("" +assignList.get(i).getWeightU()); + row.add(assignList.get(i).getAssignCat()); + row.add(assignList.get(i).getComment()); + + formData.add(row); + } + + setTitle(title); + + getContentPane().setLayout(new BorderLayout(0, 0)); + + JPanel courseInfo = new JPanel(); + courseInfo.setBackground(new Color(128, 0, 0)); + getContentPane().add(courseInfo, BorderLayout.NORTH); + courseInfo.setLayout(new GridLayout(3, 4, 5, 2)); + + JLabel label = new JLabel("Course Name"); + label.setForeground(new Color(255, 248, 220)); + courseInfo.add(label); + + JLabel name = new JLabel(className); + name.setForeground(new Color(255, 248, 220)); + courseInfo.add(name); + + JLabel label_1 = new JLabel("CourseID"); + label_1.setForeground(new Color(255, 248, 220)); + courseInfo.add(label_1); + + JLabel id = new JLabel(classID); + id.setForeground(new Color(255, 248, 220)); + courseInfo.add(id); + + JLabel label_2 = new JLabel("Term"); + label_2.setForeground(new Color(255, 248, 220)); + courseInfo.add(label_2); + + JLabel term = new JLabel(classTerm); + term.setForeground(new Color(255, 248, 220)); + courseInfo.add(term); + + JLabel label_3 = new JLabel("Instructor"); + label_3.setForeground(new Color(255, 248, 220)); + courseInfo.add(label_3); + + JLabel instructor = new JLabel(prof); + instructor.setForeground(new Color(255, 248, 220)); + courseInfo.add(instructor); + + JLabel label_4 = new JLabel("Year"); + label_4.setForeground(new Color(255, 248, 220)); + courseInfo.add(label_4); + + JLabel year = new JLabel(classYear); + year.setForeground(new Color(255, 248, 220)); + courseInfo.add(year); + + JLabel label_5 = new JLabel("Credit"); + label_5.setForeground(new Color(255, 248, 220)); + courseInfo.add(label_5); + + JLabel credit = new JLabel("" + classCredit); + label_5.setForeground(new Color(255, 248, 220)); + courseInfo.add(credit); + + JTable table = new JTable(formData, columnNames); + table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + table.setFillsViewportHeight(true); + + //set properties of table + table.setCellSelectionEnabled(false); + table.setPreferredSize(getPreferredSize()); + table.setForeground(Color.BLACK); + table.setFont(new Font(null, Font.PLAIN, 14)); + table.setSelectionForeground(Color.DARK_GRAY); + table.setSelectionBackground(Color.LIGHT_GRAY); + table.setGridColor(Color.GRAY); + + table.getTableHeader().setFont(new Font(null, Font.BOLD, 14)); + table.getTableHeader().setForeground(Color.DARK_GRAY); + table.getTableHeader().setResizingAllowed(true); + table.getTableHeader().setReorderingAllowed(false); + + table.setRowHeight(30); + JScrollPane jsp = new JScrollPane(table); + jsp.setViewportView(table); + getContentPane().add(jsp, BorderLayout.CENTER); + + JPanel panel = new JPanel(); + panel.setBackground(new Color(128, 0, 0)); + getContentPane().add(panel, BorderLayout.SOUTH); + + JButton btnNewButton = new JButton("Back"); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + dispose(); + } + }); + btnNewButton.setHorizontalAlignment(SwingConstants.TRAILING); + panel.add(btnNewButton); + } + + + +} diff --git a/StudentInfo.java b/StudentInfo.java deleted file mode 100644 index 8a38765..0000000 --- a/StudentInfo.java +++ /dev/null @@ -1,34 +0,0 @@ - - -public class StudentInfo{ - private long uniqueID; - private String name; - private String ID; - private String major; - private String status; - - public StudentInfo(long uniqueID, String name, String ID, String major, String status) { - this.name = name; - this.ID = ID; - this.major = major; - this.status = status; - this.uniqueID = uniqueID; //database unique identifier to identify column -} - - public String getName() { - return name; - } - public String getID() { - return ID; - } - public String getMajor() { - return major; - } - - public String getStatus() { - return status; - } - public long getUniqueID() { - return uniqueID; - } -} diff --git a/StudentProfileCopy.java b/StudentProfileCopy.java deleted file mode 100644 index 03040ac..0000000 --- a/StudentProfileCopy.java +++ /dev/null @@ -1,158 +0,0 @@ - - -import java.awt.EventQueue; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.JTextPane; -import javax.swing.border.EmptyBorder; - -public class StudentProfileCopy extends JFrame { - - private JPanel contentPane; - private JLabel lblStudentProfileName; - private JLabel lblStudentProfileId; - private JLabel lblMajor; - private JLabel lblStatus; - private JLabel lblStudentProfile; - private JLabel lblUxxxxxxx; - private JLabel lblComputerScience; - private JLabel lblUndergraduate; - private JLabel lblComments; - private String name; - private String ID; - private String major; - private String status; - private JTable table; - private String[] columnNames; - private Object[][] data; - /** - * - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - StudentInfo s = new StudentInfo(-1, "Miranda Rivera", "U79852612", "Computer Science", "undergraduate"); - StudentProfileCopy frame = new StudentProfileCopy(s); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - - - //this must be searched on database and turned into a StudentInfo object before calling this class - //Receive Student object and extract information - public void GetStudent(StudentInfo s) { - name = s.getName(); - ID = s.getID(); - major = s.getMajor(); - status = s.getStatus(); - //missing the assignment array etc. - LoadTableData(s); - - } - - - /**database manager class - * function that takes in id of column and takes student info and turns into StudentInfo class - * function that takes in a student info and updates by overriding info for that student in database - */ - - - //student must have assignment array - public void LoadTableData(StudentInfo s) { - // TODO : Load the assignments from student - columnNames = new String[]{"Assignment", - "Weight", - "Grade"}; - - data = new Object[][] { - {"Homework1", new Float(0.5), new Float(90.0)}, - {"Homework2", new Float(0.5), new Float(90.0)}, - {"Homework3", new Float(0.5), new Float(90.0)}, - {"Homework4", new Float(0.5), new Float(90.0)}, - {"Homework5", new Float(0.5), new Float(90.0)}, - }; - - } - - - /** - * Create the frame. - */ - public StudentProfileCopy(StudentInfo s) { - GetStudent(s); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setBounds(100, 100, 450, 300); - contentPane = new JPanel(); - contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); - setContentPane(contentPane); - contentPane.setLayout(null); - - lblStudentProfileName = new JLabel("Student Name: "); - lblStudentProfileName.setBounds(6, 5, 96, 16); - contentPane.add(lblStudentProfileName); - - lblStudentProfile = new JLabel(name); // change to student.Name - lblStudentProfile.setBounds(133, 5, 200, 16); - contentPane.add(lblStudentProfile); - - lblStudentProfileId = new JLabel("Student ID: "); - lblStudentProfileId.setBounds(6, 26, 96, 16); - contentPane.add(lblStudentProfileId); - - lblUxxxxxxx = new JLabel(ID); // change to student.Id - lblUxxxxxxx.setBounds(133, 26, 200, 16); - contentPane.add(lblUxxxxxxx); - - lblMajor = new JLabel("Major: "); - lblMajor.setBounds(6, 47, 96, 16); - contentPane.add(lblMajor); - - lblComputerScience = new JLabel(major); // change to student.Major - lblComputerScience.setBounds(133, 47, 200, 16); - contentPane.add(lblComputerScience); - - lblStatus = new JLabel("Status: "); - lblStatus.setBounds(6, 68, 96, 16); - contentPane.add(lblStatus); - - lblUndergraduate = new JLabel(status); // change to student.Status - lblUndergraduate.setBounds(133, 68, 200, 16); - contentPane.add(lblUndergraduate); - - lblComments = new JLabel("Comments"); - lblComments.setBounds(293, 5, 74, 16); - contentPane.add(lblComments); - - JTextPane txtpnComment = new JTextPane(); - txtpnComment.setBounds(293, 26, 133, 101); - contentPane.add(txtpnComment); - - JButton btnSave = new JButton("Save"); - btnSave.setBounds(176, 246, 96, 26); - contentPane.add(btnSave); - - table = new JTable(data, columnNames); - table.setBounds(18, 135, 408, 101); - //contentPane.add(table); - - JScrollPane scrollPane = new JScrollPane(table); - scrollPane.setBounds(18, 135, 408, 101); - table.setFillsViewportHeight(true); - contentPane.add(scrollPane); - - - } -} - - diff --git a/course.java b/course.java deleted file mode 100644 index d97ff47..0000000 --- a/course.java +++ /dev/null @@ -1,229 +0,0 @@ -import java.awt.EventQueue; - -import javax.swing.JFrame; -import javax.swing.JTable; -import javax.swing.table.DefaultTableModel; - -import org.sqlite.SQLiteConnection; - -import javax.swing.JLabel; -import javax.swing.JTextField; -import javax.swing.JButton; -import javax.swing.JScrollBar; -import javax.swing.JSpinner; -import javax.swing.SpinnerNumberModel; -import javax.swing.JScrollPane; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import javax.swing.JTextArea; -import javax.swing.JList; -import javax.swing.JComboBox; -import javax.swing.DefaultComboBoxModel; - -import net.proteanit.sql.DbUtils;//i add a new import for Dbutils - -public class course { - - private JFrame frame; - private JTable table; - private JTextField coursename; - private JTextField courseid; - private JTextField term; - private JTextField instructor; - private JTextField year; - private JTextField credit; - private JTextField catename; - private JTextField weight1; - private JTextField weight2; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - course window = new course(); - window.frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - Connection connection = null; - /** - * Create the application. - */ - public course() { - initialize(); - connection=sqlConnection.dbConnection();// connect to database - - } - - /** - * Initialize the contents of the frame. - */ - private void initialize() { - frame = new JFrame(); - frame.setBounds(100, 100, 549, 517); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.getContentPane().setLayout(null); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setBounds(35, 137, 477, 96); - frame.getContentPane().add(scrollPane); - - table = new JTable(); - scrollPane.setViewportView(table); - table.setModel(new DefaultTableModel( - new Object[][] { - }, - new String[] { - "Name", "Weight(M)", "Weight(U)", "Categary" - } - ) { - Class[] columnTypes = new Class[] { - String.class, Float.class, Float.class, Float.class - }; - public Class getColumnClass(int columnIndex) { - return columnTypes[columnIndex]; - } - }); - - JLabel lable1 = new JLabel("Couse Name"); - lable1.setBounds(35, 38, 79, 14); - frame.getContentPane().add(lable1); - - JLabel lable2 = new JLabel("CourseID"); - lable2.setBounds(35, 63, 64, 14); - frame.getContentPane().add(lable2); - - JLabel lable3 = new JLabel("Term"); - lable3.setBounds(35, 88, 64, 14); - frame.getContentPane().add(lable3); - - JLabel lblInstructor = new JLabel("Instructor"); - lblInstructor.setBounds(302, 35, 64, 14); - frame.getContentPane().add(lblInstructor); - - JLabel lblYear = new JLabel("Year"); - lblYear.setBounds(302, 60, 64, 14); - frame.getContentPane().add(lblYear); - - JLabel lblCredit = new JLabel("Credit"); - lblCredit.setBounds(302, 85, 64, 14); - frame.getContentPane().add(lblCredit); - - coursename = new JTextField(); - coursename.setBounds(109, 35, 128, 20); - frame.getContentPane().add(coursename); - coursename.setColumns(10); - - courseid = new JTextField(); - courseid.setColumns(10); - courseid.setBounds(109, 60, 128, 20); - frame.getContentPane().add(courseid); - - term = new JTextField(); - term.setColumns(10); - term.setBounds(109, 85, 128, 20); - frame.getContentPane().add(term); - - instructor = new JTextField(); - instructor.setColumns(10); - instructor.setBounds(376, 32, 128, 20); - frame.getContentPane().add(instructor); - - year = new JTextField(); - year.setColumns(10); - year.setBounds(376, 57, 128, 20); - frame.getContentPane().add(year); - - credit = new JTextField(); - credit.setColumns(10); - credit.setBounds(376, 82, 128, 20); - frame.getContentPane().add(credit); - - JButton btnAdd = new JButton("Add"); - btnAdd.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnAdd.setBounds(35, 360, 89, 23); - frame.getContentPane().add(btnAdd); - - JButton btnDelete = new JButton("Delete"); - btnDelete.setBounds(396, 360, 89, 23); - frame.getContentPane().add(btnDelete); - - JButton btnUpgrade = new JButton("Upgrade"); - btnUpgrade.setBounds(223, 360, 89, 23); - frame.getContentPane().add(btnUpgrade); - - JLabel lblName = new JLabel("Name"); - lblName.setBounds(35, 262, 46, 14); - frame.getContentPane().add(lblName); - - JLabel lblWeight = new JLabel("Weight(master)"); - lblWeight.setBounds(35, 287, 99, 14); - frame.getContentPane().add(lblWeight); - - JLabel lblWeightundergraduate = new JLabel("Weight(under)"); - lblWeightundergraduate.setBounds(302, 287, 89, 14); - frame.getContentPane().add(lblWeightundergraduate); - - catename = new JTextField(); - catename.setBounds(109, 259, 128, 20); - frame.getContentPane().add(catename); - catename.setColumns(10); - - weight1 = new JTextField(); - weight1.setColumns(10); - weight1.setBounds(109, 284, 128, 20); - frame.getContentPane().add(weight1); - - weight2 = new JTextField(); - weight2.setColumns(10); - weight2.setBounds(384, 284, 128, 20); - frame.getContentPane().add(weight2); - - JSpinner spinner = new JSpinner(); - spinner.setModel(new SpinnerNumberModel(0, 0, 100, 1)); - spinner.setBounds(237, 284, 36, 20); - frame.getContentPane().add(spinner); - - JButton btnShowData = new JButton("Load Table"); //load button can read data from database table - btnShowData.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - try { - String query="select * from coursecategory"; - PreparedStatement pst=connection.prepareStatement(query); - ResultSet rs=pst.executeQuery(); - table.setmodel(DbUtils.resultSetToTableModel(rs)); - - } - catch(Exception e1){ - e1.printStackTrace(); - } - } - }); - btnShowData.setBounds(35, 395, 117, 29); - frame.getContentPane().add(btnShowData); - - JComboBox comboBox = new JComboBox(); - comboBox.setModel(new DefaultComboBoxModel(new String[] {"Assignment", "Task", "Quiz", "Midterm", "Finalterm"})); - comboBox.setBounds(384, 256, 128, 23); - frame.getContentPane().add(comboBox); - - JLabel lblCategory = new JLabel("Category"); - lblCategory.setBounds(310, 258, 61, 16); - frame.getContentPane().add(lblCategory); - } -} diff --git a/couse.db b/couse.db deleted file mode 100644 index e7dd54efcda021afe919fa3d4e817f6449b55de3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 zcmeI%F-yZh6bJCTB;`n;#HA=?IdCx`g;E@xYLy^D5v&=+DY2e0;3b$`5W5sVhEDw= zPELLT@ryWnDMsz!?9l(?j(hLkE%&?ePESUu68tJJWUP3ftPx7d9_NIRmY#;5O_(~d znnJJiSN>PpB3*jkt`EC2q6Y#35P$##AOHafKmY;|fB*y_u!;gR%GQ0KKJ2Ra;zmsJ zswl-IRwBuZ`{l|w7ze{J;Nft86!2)d8SyR0jUSdZ|Pq z2k(z{JT>cvVRab0t^{eyJUxY`k%?^vpGEFimGS$nwy`ARJ;#Q7j)}Q&G>-ANj diff --git a/sqlConnection.java b/sqlConnection.java deleted file mode 100644 index 0484676..0000000 --- a/sqlConnection.java +++ /dev/null @@ -1,21 +0,0 @@ -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -public class sqlConnection { - - public static Connection dbConnection() { - Connection conn = null; - try { - // db parameters - String url = "jdbc:sqlite:/Users/lifengjun/Desktop/couse.db ";//root for db file - // create a connection to the database - conn = DriverManager.getConnection(url); - - System.out.println("Connection to SQLite has been established."); - return conn; - } catch (SQLException e) { - System.out.println(e.getMessage()); - return null; - } - } From 6a54bd7df24903f0c7a383c2a9d8039e6a6739d1 Mon Sep 17 00:00:00 2001 From: x2mercy <30567152+x2mercy@users.noreply.github.com> Date: Fri, 14 Dec 2018 00:14:23 -0500 Subject: [PATCH 3/3] Update README.md --- README.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/README.md b/README.md index 915d010..5454693 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,2 @@ # 591-Team-Nine Grading System Project - -1.These 2 jar file need to be added in project. right click project---Properties---JAVA build path---add JAR - -2.db file is the database file made by SQLite, I put it on the desktop. if you want to change place, remember to change the code in sqlConnection.java - -3.sqlConnection.java is used to connect database. download it and put it with other java file. - -# 12/06 -1. run the project start from ui.frames/startframe -2. I reconstruction the code by classes and this caused several bugs that needed to be fixed -3. re-upload the fixed code later