From 786b3925fb59ffcab8b4a6cef0fa0ecc992b7594 Mon Sep 17 00:00:00 2001 From: Ryuuji159 Date: Wed, 2 Nov 2016 06:21:02 +0100 Subject: [PATCH] subida completa avance 2da entrega --- bin/utiles/Archivo.class | Bin 3913 -> 4362 bytes bin/utiles/ControlLogin.class | Bin 0 -> 1925 bytes bin/utiles/ControlPrincipal.class | Bin 6426 -> 5823 bytes bin/visual/Login$1.class | Bin 0 -> 704 bytes bin/visual/Login$2.class | Bin 0 -> 704 bytes bin/visual/Login$3.class | Bin 0 -> 704 bytes bin/visual/Login.class | Bin 0 -> 6978 bytes bin/visual/Principal$1.class | Bin 732 -> 732 bytes bin/visual/Principal$2.class | Bin 834 -> 834 bytes bin/visual/Principal$3.class | Bin 732 -> 732 bytes bin/visual/Principal$4.class | Bin 732 -> 732 bytes bin/visual/Principal$5.class | Bin 732 -> 732 bytes bin/visual/Principal$6.class | Bin 732 -> 732 bytes bin/visual/Principal$7.class | Bin 732 -> 732 bytes bin/visual/Principal.class | Bin 27538 -> 27413 bytes bin/visual/Prueba.class | Bin 1683 -> 0 bytes bin/visual/Registro$1.class | Bin 0 -> 725 bytes bin/visual/Registro$2.class | Bin 0 -> 725 bytes bin/visual/Registro.class | Bin 0 -> 7085 bytes src/utiles/Archivo.java | 44 ++++--- src/utiles/ControlLogin.java | 70 +++++++++++ src/utiles/ControlPrincipal.java | 51 +++----- src/visual/Login.java | 189 ++++++++++++++++++++++++++++++ src/visual/Principal.java | 49 ++------ src/visual/Prueba.java | 39 ------ src/visual/Registro.java | 161 +++++++++++++++++++++++++ 26 files changed, 479 insertions(+), 124 deletions(-) create mode 100644 bin/utiles/ControlLogin.class create mode 100644 bin/visual/Login$1.class create mode 100644 bin/visual/Login$2.class create mode 100644 bin/visual/Login$3.class create mode 100644 bin/visual/Login.class delete mode 100644 bin/visual/Prueba.class create mode 100644 bin/visual/Registro$1.class create mode 100644 bin/visual/Registro$2.class create mode 100644 bin/visual/Registro.class create mode 100644 src/utiles/ControlLogin.java create mode 100644 src/visual/Login.java delete mode 100644 src/visual/Prueba.java create mode 100644 src/visual/Registro.java diff --git a/bin/utiles/Archivo.class b/bin/utiles/Archivo.class index c37b2eca113efdbd5ce8984da445215707726c42..8738c6e4f3064fbf50c842f0db86ab84a2bbca65 100644 GIT binary patch literal 4362 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 diff --git a/bin/utiles/ControlLogin.class b/bin/utiles/ControlLogin.class new file mode 100644 index 0000000000000000000000000000000000000000..db54490ee71fcf139253dadeac308184b8a5483b GIT binary patch literal 1925 zcmZ`(O;a035PgGItPqRA!kAzOTaIlk31I~=P8<*pUygCahl7Eb3cHdjUvkSeKO(;(A8)0NNb$AF>n=0Zm4gn(h3wc6J6VVri%V_dPm250)uBk z=c}ewQf`2A!@y092s;ad;fsuAVtpek?hVB^B0%AI_M-5~#MnbYuQFcjStQqIu zLbc$8RB8}81Mg#;b@!cmJQJ8ow;W-tz@))WV>|RJujrb)rW>|X40i=C7i6*+^quq+ z>zPzu@}T;hE;s0<5Al(Xdtq9RbKVhKDEDZs;+u}WE^TFC8Z!dty?y6sMR}eqt3^{< zPFY|k)Fh95Hugcqv6bylH!%zo-{c9EFQ>O+V2@udNUxcjm$aRv=h#WJ%sMJBhL6c? z$x2r19oWp>iD90FZrXfKZO5kPD|Uhwyq2Kr&sLjltyQGQ9*G9agh0=RFNDO| zB-(C@V>Z>Yj>iJ=`omeT(QgOeN-Vv@V;fG@Evg5cK-APcf^G-dVY~7raaaKwttdMA z)%iDt4qAYoNyJ_w{)%P?diafVrJI2JZ`_AvOB;GNY&H{{h=v z2K5(M%8s34_@DyBZ7E!MKIhb3A;e)fpINIsv??u0hm)z!ra zPQZF@@ExOq+@vV;;YwuoC5E!Y6M^EyH3#*mvr9GDr9yU5Dq6>5-mBMiZiMW*5&08w9Zy6esQ4!3*E`@R zhDHgP4=Aoi?rJZQ9UIX8OLDN`(I!~5khUfUv@!Djy@mG-A@i)wedI7l)_G2t#TxHB q^~)N(^NpmTBFi;R-WhYsw4Q4RNZ%sjWpx|bpV4JQEeEtt_%&q7E literal 0 HcmV?d00001 diff --git a/bin/utiles/ControlPrincipal.class b/bin/utiles/ControlPrincipal.class index 4a851823e615e50abe8fa910edc0b83858fe42e4..1e5736b184f4654b8970bb0fef20570fd4d8e8e0 100644 GIT binary patch literal 5823 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 XOO9>Z)2IIfsmMR6Sdj#B?Em@Sf;82h literal 6426 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 Rg;Ut=B)Rbyk_q9j{|0}ch_L_w diff --git a/bin/visual/Login$1.class b/bin/visual/Login$1.class new file mode 100644 index 0000000000000000000000000000000000000000..980ac787cfd9e3d13447223a42305c0c18e0b9ef GIT binary patch literal 704 zcmaJ;U279T6g@YI-R?RjX|46EwQ3`zDRwRRAXJ1JBM9pUD0!c3rsbaxT+C zno0U`bfR(>VTrIAP}#+2E4&I8W8)JD5kgq7~a z)XtF5=-aW1LAW6hVL3q^ErA$qLcQw?TA4QL!)!WI9xh#gV)IMH-4KL5V zUr^}mvwTa2PCu#g$d*$zCTw-H|C$+iV+T9K1b1*R!d-$mZ$;ofHVDfy&s7zyKD}h< zYFc)r=8mv&RT&}qY-eSz-fHhP35(hD?Xr`B$qQR)GkLGvu^kI+`#ClJc>8wx)f(=f zhalb=UP-@@Ri!FC;3+oG(!v#y+`v$T56SpsuykY4pF literal 0 HcmV?d00001 diff --git a/bin/visual/Login$2.class b/bin/visual/Login$2.class new file mode 100644 index 0000000000000000000000000000000000000000..49bc54af082d231779bd786104538538265780c6 GIT binary patch literal 704 zcmaJ;U279T6g@YI-R?RjY1R7GTCFRjDY{yG5Gq0m6^g4Cl)O(i({##aMs_CgcL|E( zgFnC@CEi)`&=%>#FmunnbIv{Y{`vdsH-Hy-9HBvI&$XM$GRy5mn{+oqi_krlbD5RW zOtKH7Q&so~ON5OYm0x_O=F0eNzwp|cTsyCfst8N|M7#7EQ|4zm_c-%P8|_~cR(j`C z+e1QYV8<#3;hI2%V^s_bG zKMz418eYkul+G!K2Rz&+pDUnlH_VvV-{2D?Ve~4$UUD3eq`&hWqW=T!uXW8z!0Jr+ zeTY?#1^)@?b==^aa1(0_mi+}w-2Vo#^Aoo&lDuWf2CaSzJ6Q#4g2rWYQSj3YFQJO+>x@`L#8ZFa_)2HsnW_lBdqjJ zr*?*f*1(Kq48o-p5tb7)(Mb`bOKA3dL8nk!zM4%(vVJE zH22R#NMC4P$)FO}N{c%@+$Nt3pl;XCnAhLn6C+{tBEOz+?2)9u`yFZj2ijjl&5FlD z#{YhgRgP2s8o0 TgInI>yTxnRMi%5K$nx_a%$b?2 literal 0 HcmV?d00001 diff --git a/bin/visual/Login.class b/bin/visual/Login.class new file mode 100644 index 0000000000000000000000000000000000000000..75176cab54ead5baad49a05ddf29ed2fb77e7486 GIT binary patch literal 6978 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 W<8q#KZ(iuJcS^sxX5B~?IVTbJi literal 0 HcmV?d00001 diff --git a/bin/visual/Principal$1.class b/bin/visual/Principal$1.class index 7dc9a02b508aa430ba3aaae3a781b4b60cc5f9d1..29ffff7cb52b17911a050f1cd2ada99741d25f68 100644 GIT binary patch delta 23 fcmcb^dWUsG7!%`x$>B^6tVb9)7>-V!!{h(}WFH5= delta 23 fcmcb^dWUsG7!%`-$>B^6talhV817Dd95;|0P1 delta 23 ecmcb^dWUsG7!#x3d98n+6I1 diff --git a/bin/visual/Principal$5.class b/bin/visual/Principal$5.class index 883b87558eeaac540eeb422ebb8372bb83000cd2..2e3767c596069bced08dbdc9f3c52c093fb39693 100644 GIT binary patch delta 23 fcmcb^dWUsG7!%`y$>B^6tVB^6ta}(Z823(|!{h(}V?76` diff --git a/bin/visual/Principal$6.class b/bin/visual/Principal$6.class index d3d124d08e40d6c92c74c78729aacd28ae004a98..65e869a78c121cc4af04c7dcb4301230769fcf18 100644 GIT binary patch delta 25 hcmcb^dWUsGC=(OY_sQW*_H0bQ8912!OrFE!0044X2xd93js=AP delta 23 ecmcb^dWUsG7!#x9d96Mg`3P diff --git a/bin/visual/Principal.class b/bin/visual/Principal.class index 071ec21ea3d7f22f0978cc89f5ab27aecac806cf..0dda0855e836bdea132765257f47474cd69c70ae 100644 GIT binary patch delta 9181 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 aQ+5jysR813kuLd|9j)k!$M|Jv`u_uQfAg0B diff --git a/bin/visual/Prueba.class b/bin/visual/Prueba.class deleted file mode 100644 index 5a82cd1232c96ce75416fae3ac61cdb932f611be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1683 zcma)7+fo}x5IqCBTeh(v+-+n-hy;es{em1KTNuYg24aW^a&9AO5KC6Os@2NGmC8%< zFL{q2L@HF}1M*R+oY_SsK}gE`Fw=9Ud%EXLckf?+|M4e)cOjz~5V-o>Y_+9jY`bk$ zArulAI+D+&VM)7gY*mg_)f0%^Gi}pb6&TE9O9G*SQ&R~HBA!GT5rOMP(^i}9Mn$>1 zvSKNLRMDwQt0Y}hug}1ccWAb>_Bp3H9@vnkEijsSR_r<7@m$lc=dz_JZty_8@q^Ji zCT47`yRyLuh7gZpFydNcEQxVUFmzd~2`pp+5AxVE3QnWx*vj^D*~`Ev zrUaH9w{9FAxJnr{=}Dt1Jymzy7si@8kZsE=oUPZm*-~BtlZZ$1<7Aj$3~6$=?K%gh z7sDOibAzF2ow+1l$Gkv{HYI7b$=I8jwZ6;i*rcnu%UzCUOOgC^*UbX2x9c<_`E(aq z*3L}JisVPS(Ayev4(&)j(}mtAwC<`}3?B+i1wPG|W2Y<1J66h0??_9v8q$tog~4`L zaoodd6dw!B_2{V{O4l=*mg5=Q9JXAO%u3I6>?A%xp5~>8Pj?>|?iU5-i?3prOW*<4 zq9_PVU(_#XZ|kz^@hy^gh;@N$Rafyf9!S^U6!`V*t^HI!%cedu{~PH!JOAbv9y|AH zwp$qLZftk$zos=!Hs3V3eVa zF(1Y$P2d)LQ5IAD9Za)GZ(@VU7ns2w()gC#R4CVR2QFsu0(1C@ZR=;u``2F$u83V) t=wA0DO0?tu11(bVB?-F)g?*ICZ=L5q!&eCLq#O7e-;ilR51Q8R{sD_&qyhi{ diff --git a/bin/visual/Registro$1.class b/bin/visual/Registro$1.class new file mode 100644 index 0000000000000000000000000000000000000000..375fc5b062a6e92bc1fc025e2f747cf8c3706ccb GIT binary patch literal 725 zcmaJHBm$mLc02vpcQ7iv*(a z!5_enGTxcgmtuIB%-pYY&$)MQ|NQz5-~cZJR0s=WRgOfSe3k=M+QKyV1JnqOOEDHn zF7zPz*t?XO4KPF4^j`7ZCUPvbO-?hbj83^wYFQ9w?1d_udyJY+!5(t(NNHt{3CpcJ z(VZ@#)-inM=qz2-TKLsHaNH52ImE7U!auOTuDmGLd&hp`1N&)*K1K z(sYyNK9i^mPx+H9zM5hv`-H7l`d?LNPT}EBH^L)44zSL(Q<`Et!3JSgWSK0z?7h3n z?gwXSa%>43_oWe{FJ@F^@~v{B=l-qgmE+B{&UBWWQt82aX)jDa#tS#Ic{lBj8GbXG zh44V)cbb>f$wgVp65BlJDxU|SM#IgU|3rmPh={!p`SqG@=ZV_8H;CImFn{H97M#yV zT=g3)vK@1c^DbeTZ^8;zCn%>Al(2n`c=spPra_Lm^@#^r^`PMd#8KJAQ--Nxi$N<) S`5E6e-p6w^eLM1P`S};qFQUHy literal 0 HcmV?d00001 diff --git a/bin/visual/Registro$2.class b/bin/visual/Registro$2.class new file mode 100644 index 0000000000000000000000000000000000000000..3767648ef680b650cb22aa2b7f88dc7d00228ba4 GIT binary patch literal 725 zcmaJ&k8hXK8Zc2jwlDdVkR$4sfLD%`*0<~Ix-ux$Od_qL*z0I!|Y+eoT*RJG;jU*Vgg+5i9m literal 0 HcmV?d00001 diff --git a/bin/visual/Registro.class b/bin/visual/Registro.class new file mode 100644 index 0000000000000000000000000000000000000000..b14a1044750e7f5f3d5fcaf8f0119f266bc7c919 GIT binary patch literal 7085 zcmb7J31C#!6+QR=NoF#9a1sGUQ36ItAS3}qBtawz0fUo}5{Lwp_9ycb28Nk9Ghu68 zYPEG2wXIEStKC;ODj#cFx>?&=?WV2WYwh0J)oNF<=lwS`naLzBnMvOJ_uc*8ci(+K zj~;*M7=W{+%MU|v!ro|V*pAh2at5QRbTZ+GPY~K=@3re=c6_jYW8W^PKP@O3NZNZG z!St|N+h3pB7v<`Pbqd-fDC^S* z+kH-q$Rz_^b}A*9UC2xU_a%~%bx|i4Q9M1gr3!ybN(n!?5P!3?Kb^%biD{Ol-l%9| znx4hUqPsCwzDXgr!;EikKVdIY}KM8pZg#B2*EV^$D? z(=E)wEWtE|*qYcgl!!a=G|f689F04j!+ZLiy?f$J=k>)H7hDwOCAf>R0@6{JTH?V4GK1q)LZvyB#}VXAV{>nv{jYCe-PDc}Q#~9|D%rHy{ksQ~iQ#yJ-mCUCb6RT+*B?o3y#pm;I6@-$G8jNtti4rINvF2POac_)B3((k&q zB-I9-t1|IY3zy+?%~a(MYt95J)bs@KX1b^)S8Xco%C5TRx{kR4yoLKZkFCnqOZ|8& z_u9CvR<$IEt8tAo^;(vQ>Y}Zvg0%wITetx?lH86&n)_7(g;`IXxT;C>@+@{(_tN!+ z81z5@H?tmj_0f-8CeUJO5QlJ00B@(&TUfD^(L@06q!F!jAtU2_`F=ZqchM6)PBJdsp=`p8;0|Trd&gp_lR2KYS*KKPl;KXi-;cWlb0^_a)f|fs z#`n-X3m?D-sb{#Yd2M^=dche5MLAFM7)?_UBlxg|kKm&WS%1>8(@vM2v|}+R<`D?O z+Kt(>XJR%rlZqU``F8wYEi~^Hc)gqpi}UUno>US4o?v&Ol!>=|fl>J=uRRl(DYdq#DhwD;k+sz%g4#lh3AxUAsWX+IL$Ly zn-;+HJluIAM|g_Y;GY)$g@5zbz;Y(2nb5Ods^#Cnye_E<|F!TxyvS~B(BXX|&ITi` z8hSQ~nPVx_MP?7~AYQ^wzp(Z7E(?XL>}|!c#8fvF-w-=e1t_tkR7f#}5;i3g8TPZr zoq8LxOHDy3lPP`)^2E%qOgRKgESajElIgSc{eZ1^VSqMdE{a~yEhktKQq6BrIWwAy zvg1|SRakPOOs6b@)rCnlTAQ30$Gy&GcB$D`RJSjg1BhLJiFQ>AT8BRxIPKx&ec4>)NI58NF2jvvi zpRbnFEtw;gEYNhdZeyosqnO`H^ByDfEIC7}bX2mJ9Cbsf+1?tI`BLqd1qIi3-Gy6H zBfJ3m_u8>xXXAj%lI^WJ({*lTnssU@GiuQ(iD`pa^sieK6V zr{(XiqEn8BdoXe>Xi0csP=^S?x$g7Mj6UA)==CXX4d}lNjhI*;MnW3)q-pC8R zH}X}0H}azGjl5=iBX9BE$eX)2^4{)^ywiIl-#&OFUn+Pb-$8IJr9{3$;onpE)WlIZ zmMuJrQ~7(^{T^y1|4#E1n*|?Er6RMbDtOoTkTDNuczApRqZySxOQmRt&s{i*s@|iR ze*_CSt>JXh5!8-N>o{#7bm^hn3+eun}`I)dMn~3p@yRva*@)YLcDznSaHzBn>bmn3Cz&6905T}vzPSOlcz|Q zS6rb<8Y`}JaTOtrqqw@4;d+~k>-e~;;wBAWHHt$DeyfJJW<^xwL=aT0Q)|U-T0qe>h$#MymU;dJddoy4K3(Zv@7f148XNCA7jC@*Me8$D+Jk)t1el)l(114wkCth>t zcsbr5I_~1jdeNtXC9?i{Fs{ve5BRlZSX1 zzjN_Nf=C=X!vlpX)o08b)LWy_~kI-L+Yy>Oj|a6KcUGe;k)P#=n*r~a({ zNe}&yYS1sr@=#a@&NJX|gxB)7uHqjqUdY6Kfs6kz^c{q&X|0RnwY56>oPW|Z82}Z} zT0{Hd=h_!p97af^d2+@fKH);iT;Pi6!N;M|m4JHkxiU?S;!1h0>dA3j&dN52C9{%m zW9RZS54EgzEBLaq1!tlI^Z5#L0bd_hBhHTV02bmZEW*vix*dzzz}CS@Ysa@gsP>aW~#zu+A9|avVjU@i6+0M>u|+YmXsfJPyZr5(CCl7&M;2PUF{z z8o%fGEOr^s5&i;p8!sYe`mo#dBVq=zhn29`oQ|#LNr;=L<3e*T$HmxUHXvcH!I0UB zOUx~tZzXIylIBH7nf*wcyD)6-!(Q`J>@%;!e)HWpVBUp;=G}Os`4HY@egT)7kK;1) zN4VU48dsQq!kf((aHaVo-r}2rD}B>&m2W1}zFA25X5(sK4c_WI2XFJW;u_xtxYoA~ z*ZFpEjPQ97*ZUHSOK@06?5Cz(FwjB||x zGDBuU$on!mi8F)$-C-l5Pd?nm6Vk_=X&jYPdXLKN4wd4~uAIgp?8@8+mLBl+4*nd9qy2rVart zl@)RhwOR_ltdvHW(nKx+$p5g?&yLto9a2Wy9^$EnBb3oW?>nu7;pw2y{r8dnPX43d zt}&0W-O%SgsdKUeoym)l!j>jB*6apXE_nkS}d8BcRZ zmWH;hC1*q0WF5ywHcNM6MAomFCFgV8;1lk=5xIbx+{ZD@@lolJjcaD{O|$+vq=)|l Da0KD1 literal 0 HcmV?d00001 diff --git a/src/utiles/Archivo.java b/src/utiles/Archivo.java index b516b6f..eba1669 100644 --- a/src/utiles/Archivo.java +++ b/src/utiles/Archivo.java @@ -14,19 +14,33 @@ public class Archivo BufferedReader br; FileWriter fw; - public Archivo(String ruta) + public Archivo(String archivo) { + String ruta = getRuta(archivo); try { - archivo = new File(ruta); - if (!archivo.exists()) + this.archivo = new File(ruta); + if (!this.archivo.exists()) { - archivo.createNewFile(); + this.archivo.createNewFile(); } } catch (Exception e) { } } + public String getRuta(String archivo) + { + String ruta = ""; + String os = System.getProperty("os.name"); + if (os.contains("Windows")) + { + ruta = "C:\\P.A.M\\" + archivo; + } else if (os.contains("Linux")) + { + ruta = System.getProperty("user.home") + "/P.A.M/" + archivo; + } + return ruta; + } public String leerArchivo() { abrirLeer(); @@ -66,19 +80,19 @@ public class Archivo public void borrarLinea(String id) { String[] arch = entregarProcesado(); - for(int x = 0; x < arch.length; x++) + for (int x = 0; x < arch.length; x++) { - if(arch[x].split(";")[0].equals(id)) + if (arch[x].split(";")[0].equals(id)) { - arch[x]=""; + arch[x] = ""; break; } } - String[] nArch = new String[arch.length-1]; - int z =0; - for(int x = 0; x < arch.length; x++) + String[] nArch = new String[arch.length - 1]; + int z = 0; + for (int x = 0; x < arch.length; x++) { - if(arch[x].length()>1) + if (arch[x].length() > 1) { nArch[z] = arch[x]; z++; @@ -90,12 +104,14 @@ public class Archivo { clearFile(); abrirEscribir(); - for(int x = 0; x < texto.length;x++) + for (int x = 0; x < texto.length; x++) { try { - fw.append(texto[x]+"*!"); - } catch (IOException e){} + fw.append(texto[x] + "*!"); + } catch (IOException e) + { + } } cerrarEscribir(); } diff --git a/src/utiles/ControlLogin.java b/src/utiles/ControlLogin.java new file mode 100644 index 0000000..90607a3 --- /dev/null +++ b/src/utiles/ControlLogin.java @@ -0,0 +1,70 @@ +package utiles; + +public class ControlLogin extends Archivo +{ + public ControlLogin() + { + super("userData"); + } + public boolean añadirUsuario(String user, String pass, String pass2) + { + if (!isUser(user)) + { + if (user.length() > 4) + { + if (pass.equals(pass2)) + { + if (pass.length() > 6) + { + escribirArchivo(user + ";" + pass); + return true; + } else + { + javax.swing.JOptionPane.showMessageDialog(null, "La contraseña es muy corta", null, + javax.swing.JOptionPane.ERROR_MESSAGE); + return false; + } + } else + { + javax.swing.JOptionPane.showMessageDialog(null, "Las contraseñas no son iguales", null, + javax.swing.JOptionPane.ERROR_MESSAGE); + return false; + } + } else + { + javax.swing.JOptionPane.showMessageDialog(null, "El usuario es muy corto", null, + javax.swing.JOptionPane.ERROR_MESSAGE); + return false; + } + } else + { + javax.swing.JOptionPane.showMessageDialog(null, "El usuario ya existe ", null, + javax.swing.JOptionPane.ERROR_MESSAGE); + return false; + } + } + public boolean isUser(String user) + { + String[] arch = entregarProcesado(); + for (int x = 0; x < arch.length; x++) + { + if (arch[x].split(";")[0].equals(user)) + { + return true; + } + } + return false; + } + public boolean isUserPass(String user,String pass) + { + String[] arch = entregarProcesado(); + for(int x = 0; x < arch.length; x++) + { + if(arch[x].split(";")[0].equals(user)&&arch[x].split(";")[1].equals(pass)) + { + return true; + } + } + return false; + } +} diff --git a/src/utiles/ControlPrincipal.java b/src/utiles/ControlPrincipal.java index d02c69b..8f2f71b 100644 --- a/src/utiles/ControlPrincipal.java +++ b/src/utiles/ControlPrincipal.java @@ -3,23 +3,18 @@ package utiles; import java.time.YearMonth; import java.util.ArrayList; -public class ControlPrincipal +public class ControlPrincipal extends Archivo { - private String ruta; - private String usuario; - private Archivo archivo; public ControlPrincipal(String usuario) { - this.usuario = usuario; - getRuta(); - archivo = new Archivo(ruta); + super(usuario); } public void añadir(String fecha, String documento, String fd, String desc, String ing, String egr) { int id = 1; int saldo = 0; - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); String[] lastRow = arch[arch.length - 1].split(";"); try { @@ -29,11 +24,11 @@ public class ControlPrincipal { } String fila = id + ";" + fecha + ";" + documento + ";" + fd + ";" + desc + ";" + ing + ";" + egr + ";" + saldo; - archivo.escribirArchivo(fila); + escribirArchivo(fila); } public void modificarFila(String id, String fecha, String documento, String fd, String desc, String ing, String egr) { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); for (int x = 0; x < arch.length; x++) { if (arch[x].split(";")[0].equals(id)) @@ -43,16 +38,16 @@ public class ControlPrincipal } } actSaldos(); - archivo.actArchivo(arch); + actArchivo(arch); } public void eliminarFila(String id) { - archivo.borrarLinea(id); + borrarLinea(id); actSaldos(); } public void actSaldos() { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); for (int x = 0; x < arch.length; x++) { int saldoAnterior = 0; @@ -75,33 +70,33 @@ public class ControlPrincipal textAux += saldo; arch[x] = textAux; } - archivo.actArchivo(arch); + actArchivo(arch); } public String[] getLastRow() { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); return arch[arch.length - 1].split(";"); } public String[] getRow(int id) { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); return arch[id].split(";"); } public int getRowCount() { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); return arch.length; } public boolean isFiled() { - return (archivo.leerArchivo().length() > 1); + return (leerArchivo().length() > 1); } public String[][] resumenMes() { String[][] fin = new String[4][1]; - if (archivo.leerArchivo().length() > 5) + if (leerArchivo().length() > 5) { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); ArrayList fechas = new ArrayList(); ArrayList ings = new ArrayList(); ArrayList egrs = new ArrayList(); @@ -174,9 +169,9 @@ public class ControlPrincipal } public int[] resumenDoc() { - String[] arch = archivo.entregarProcesado(); + String[] arch = entregarProcesado(); int[] docs = { 0, 0, 0}; - if (archivo.leerArchivo().length() > 5) + if (leerArchivo().length() > 5) { for (int x = 0; x < arch.length; x++) { @@ -197,15 +192,5 @@ public class ControlPrincipal } return docs; } - public void getRuta() - { - String os = System.getProperty("os.name"); - if (os.contains("Windows")) - { - this.ruta = "C:\\P.A.M\\archivo"; - } else if (os.contains("Linux")) - { - this.ruta = System.getProperty("user.home") + "/P.A.M/" + this.usuario; - } - } + } diff --git a/src/visual/Login.java b/src/visual/Login.java new file mode 100644 index 0000000..025d74e --- /dev/null +++ b/src/visual/Login.java @@ -0,0 +1,189 @@ +package visual; + +import java.awt.Color; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.GroupLayout; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; +import javax.swing.LayoutStyle; +import javax.swing.WindowConstants; + +import utiles.ControlLogin; + +public class Login{ + + private JFrame frame; + private JLabel Ingresar; + private JButton bIngresar; + private JButton bRegistrar; + private JButton bSalir; + private JLabel bienvenido; + private JPasswordField fPass; + private JTextField fUser; + private JLabel lPass; + private JLabel lUser; + private JPanel panel; + + public Login() { + initComponents(); + } + + private void initComponents() { + + frame = new JFrame(); + panel = new JPanel(); + Ingresar = new JLabel(); + bienvenido = new JLabel(); + bIngresar = new JButton(); + bSalir = new JButton(); + fUser = new JTextField(); + lUser = new JLabel(); + lPass = new JLabel(); + fPass = new JPasswordField(); + bRegistrar = new JButton(); + + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + + panel.setBackground(new Color(21, 21, 21)); + + Ingresar.setBackground(new Color(0, 204, 204)); + Ingresar.setFont(new Font("Eras Light ITC", 2, 48)); // NOI18N + Ingresar.setForeground(new Color(0, 204, 204)); + Ingresar.setText("Ingresar!"); + + bienvenido.setFont(new Font("Eras Light ITC", 0, 14)); // NOI18N + bienvenido.setForeground(new Color(255, 255, 255)); + bienvenido.setText("Bienvenido de nuevo a P.A.M!"); + + bIngresar.setText("Ingresar"); + bIngresar.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bIngresarActionPerformed(evt); + } + }); + + bSalir.setText("Salir"); + bSalir.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bSalirActionPerformed(evt); + } + }); + lUser.setFont(new Font("Eras Light ITC", 0, 18)); // NOI18N + lUser.setForeground(new Color(0, 204, 204)); + lUser.setText("Usuario"); + + lPass.setBackground(new Color(0, 204, 204)); + lPass.setFont(new Font("Eras Light ITC", 0, 18)); // NOI18N + lPass.setForeground(new Color(0, 204, 204)); + lPass.setText("Contraseña"); + + bRegistrar.setText("Registrarse"); + bRegistrar.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bRegistrarActionPerformed(evt); + } + }); + + GroupLayout panelCartola1Layout = new GroupLayout(panel); + panel.setLayout(panelCartola1Layout); + panelCartola1Layout.setHorizontalGroup( + panelCartola1Layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addContainerGap(267, Short.MAX_VALUE) + .addGroup(panelCartola1Layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addComponent(bienvenido) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addGroup(panelCartola1Layout.createParallelGroup(GroupLayout.Alignment.TRAILING) + .addComponent(Ingresar, GroupLayout.PREFERRED_SIZE, 215, GroupLayout.PREFERRED_SIZE) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addGroup(panelCartola1Layout.createParallelGroup(GroupLayout.Alignment.LEADING, false) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addGap(52, 52, 52) + .addComponent(lUser)) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addGap(34, 34, 34) + .addComponent(lPass)) + .addComponent(fUser) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addComponent(bIngresar, GroupLayout.PREFERRED_SIZE, 78, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(bSalir, GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE)) + .addComponent(fPass)) + .addGap(38, 38, 38))) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 107, Short.MAX_VALUE) + .addComponent(bRegistrar, GroupLayout.PREFERRED_SIZE, 115, GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + panelCartola1Layout.setVerticalGroup( + panelCartola1Layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(panelCartola1Layout.createSequentialGroup() + .addGap(32, 32, 32) + .addComponent(Ingresar, GroupLayout.PREFERRED_SIZE, 59, GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(bienvenido, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(lUser) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(fUser, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lPass) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(fPass, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE) + .addGap(35, 35, 35) + .addGroup(panelCartola1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(bSalir) + .addComponent(bIngresar)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 97, Short.MAX_VALUE) + .addComponent(bRegistrar) + .addContainerGap()) + ); + + GroupLayout layout = new GroupLayout(frame.getContentPane()); + frame.getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addComponent(panel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addComponent(panel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + ); + frame.getRootPane().setDefaultButton(bIngresar); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + + private void bIngresarActionPerformed(ActionEvent evt) { + ControlLogin control = new ControlLogin(); + if(control.isUserPass(fUser.getText(), String.valueOf(fPass.getPassword()))) + { + Principal principal = new Principal(fUser.getText()); + frame.dispose(); + }else + { + javax.swing.JOptionPane.showMessageDialog(null, "Usuario o contraseña incorrectas", null, + javax.swing.JOptionPane.ERROR_MESSAGE); + } + } + private void bSalirActionPerformed(ActionEvent evt) { + System.exit(0); + } + private void bRegistrarActionPerformed(ActionEvent evt) { + Registro registro = new Registro(); + frame.dispose(); + } + public static void main(String args[]) { + + Login ventana = new Login(); + } + +} diff --git a/src/visual/Principal.java b/src/visual/Principal.java index d50ca27..6bbe3cb 100644 --- a/src/visual/Principal.java +++ b/src/visual/Principal.java @@ -1,41 +1,16 @@ package visual; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.SystemColor; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.text.SimpleDateFormat; -import java.util.Calendar; - -import javax.swing.DefaultComboBoxModel; -import javax.swing.GroupLayout; -import javax.swing.ImageIcon; -import javax.swing.JButton; -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 javax.swing.JToggleButton; -import javax.swing.LayoutStyle; -import javax.swing.WindowConstants; -import javax.swing.table.DefaultTableModel; - +import java.awt.*; +import java.awt.event.*; +import java.text.*; +import java.util.*; +import javax.swing.*; +import javax.swing.table.*; import org.jdesktop.swingx.JXDatePicker; -import org.jfree.chart.ChartFactory; -import org.jfree.chart.ChartPanel; -import org.jfree.chart.JFreeChart; +import org.jfree.chart.*; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; -import utiles.*; - -import java.util.ArrayList; +import utiles.ControlPrincipal; public class Principal { @@ -118,6 +93,7 @@ public class Principal private String usuario; private DefaultCategoryDataset dataSetMes; private DefaultCategoryDataset dataSetDoc; + public Principal(String usuario) { this.usuario = usuario; @@ -875,6 +851,8 @@ public class Principal .addGap(0, 0, 0).addComponent(panel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); principal.pack(); + principal.setLocationRelativeTo(null); + principal.setVisible(true); } private void resumenActionPerformed(ActionEvent evt) { @@ -1096,9 +1074,4 @@ public class Principal dataSetDoc.setValue(resumen[1], "Saldo", "Transferencia"); dataSetDoc.setValue(resumen[2], "Saldo", "Credito"); } - public static void main(String[] args) - { - Principal ventana = new Principal("Prueba3"); - ventana.principal.setVisible(true); - } } diff --git a/src/visual/Prueba.java b/src/visual/Prueba.java deleted file mode 100644 index 34f5be7..0000000 --- a/src/visual/Prueba.java +++ /dev/null @@ -1,39 +0,0 @@ -package visual; - -import java.awt.BorderLayout; -import java.time.YearMonth; - -import javax.swing.JFrame; -import javax.swing.JPanel; - -import org.jfree.chart.ChartFactory; -import org.jfree.chart.ChartPanel; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.plot.PlotOrientation; -import org.jfree.data.category.DefaultCategoryDataset; -import org.jfree.data.time.Day; -import org.jfree.data.time.TimeSeries; -import org.jfree.data.time.TimeSeriesCollection; - -public class Prueba -{ - public static void main(String[] args) - { - JFrame principal = new JFrame(); - JPanel main = new JPanel(); - principal.add(main); - DefaultCategoryDataset dataset = new DefaultCategoryDataset(); - dataset.setValue(6, "Profit", "Jane"); - dataset.setValue(7, "Profit", "Tom"); - dataset.setValue(8, "Profit", "Jill"); - dataset.setValue(5, "Profit", "John"); - dataset.setValue(12, "Profit", "Fred"); - JFreeChart chart = ChartFactory.createBarChart("Comparison between Salesman", - "Salesman", "Profit", dataset, PlotOrientation.VERTICAL, - false, true, false); - ChartPanel graph = new ChartPanel(chart); - main.add(graph); - principal.pack(); - principal.setVisible(true); - } -} diff --git a/src/visual/Registro.java b/src/visual/Registro.java new file mode 100644 index 0000000..84e1d7e --- /dev/null +++ b/src/visual/Registro.java @@ -0,0 +1,161 @@ +package visual; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +import utiles.ControlLogin; + +public class Registro +{ + private JFrame frame; + private JButton bRegister; + private JButton bSalir; + private JLabel bienvenido; + private JPasswordField fPass; + private JPasswordField fPass2; + private JTextField fUser; + private JLabel lPass; + private JLabel lPass2; + private JLabel lUser; + private JPanel panel; + private JLabel registrarse; + private JPanel registro; + + public Registro() + { + initComponents(); + } + private void initComponents() + { + frame = new JFrame(); + panel = new JPanel(); + registro = new JPanel(); + registrarse = new JLabel(); + bienvenido = new JLabel(); + bRegister = new JButton(); + bSalir = new JButton(); + fUser = new JTextField(); + lUser = new JLabel(); + lPass = new JLabel(); + lPass2 = new JLabel(); + fPass = new JPasswordField(); + fPass2 = new JPasswordField(); + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + frame.setResizable(false); + panel.setBackground(new Color(204, 204, 204)); + panel.setRequestFocusEnabled(false); + panel.setLayout(new CardLayout()); + registro.setBackground(new Color(21, 21, 21)); + registrarse.setBackground(new Color(0, 204, 204)); + registrarse.setFont(new Font("Eras Light ITC", 2, 48)); // NOI18N + registrarse.setForeground(new Color(0, 204, 204)); + registrarse.setText("Registrarse!"); + bienvenido.setFont(new Font("Eras Light ITC", 0, 14)); // NOI18N + bienvenido.setForeground(new Color(255, 255, 255)); + bienvenido.setText("Bienvenido a P.A.M!"); + bRegister.setText("Registrarse"); + bRegister.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent evt) + { + bRegisterActionPerformed(evt); + } + }); + bSalir.setText("Salir"); + bSalir.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent evt) + { + bSalirActionPerformed(evt); + } + }); + lUser.setFont(new Font("Eras Light ITC", 0, 18)); // NOI18N + lUser.setForeground(new Color(0, 204, 204)); + lUser.setText("Usuario"); + lPass.setBackground(new Color(0, 204, 204)); + lPass.setFont(new Font("Eras Light ITC", 0, 18)); // NOI18N + lPass.setForeground(new Color(0, 204, 204)); + lPass.setText("Contraseña"); + lPass2.setFont(new Font("Eras Light ITC", 0, 18)); // NOI18N + lPass2.setForeground(new Color(0, 204, 204)); + lPass2.setText("Verificar Contraseña"); + GroupLayout registroLayout = new GroupLayout(registro); + registro.setLayout(registroLayout); + registroLayout.setHorizontalGroup(registroLayout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup( + GroupLayout.Alignment.TRAILING, + registroLayout.createSequentialGroup().addContainerGap(272, Short.MAX_VALUE).addGroup(registroLayout + .createParallelGroup(GroupLayout.Alignment.LEADING).addGroup( + registroLayout.createSequentialGroup().addGap(33, 33, 33).addGroup(registroLayout + .createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(registroLayout.createSequentialGroup().addGap(52, 52, 52) + .addComponent(lUser)) + .addGroup(registroLayout.createSequentialGroup().addGap(34, 34, 34) + .addComponent(lPass)) + .addGroup(registroLayout.createParallelGroup(GroupLayout.Alignment.TRAILING) + .addComponent(fUser, GroupLayout.PREFERRED_SIZE, 161, + GroupLayout.PREFERRED_SIZE) + .addComponent(fPass, GroupLayout.PREFERRED_SIZE, 161, + GroupLayout.PREFERRED_SIZE)) + .addGroup(registroLayout + .createParallelGroup(GroupLayout.Alignment.TRAILING, false) + .addGroup(GroupLayout.Alignment.LEADING, + registroLayout.createSequentialGroup().addComponent(bRegister) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, + GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(bSalir)) + .addComponent(fPass2, GroupLayout.Alignment.LEADING, + GroupLayout.PREFERRED_SIZE, 161, GroupLayout.PREFERRED_SIZE)) + .addComponent(lPass2))) + .addComponent(registrarse)).addGap(266, 266, 266)) + .addGroup(registroLayout.createSequentialGroup().addGap(323, 323, 323) + .addComponent(bienvenido, GroupLayout.PREFERRED_SIZE, 132, GroupLayout.PREFERRED_SIZE) + .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); + registroLayout + .setVerticalGroup(registroLayout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(registroLayout.createSequentialGroup().addContainerGap() + .addComponent(registrarse, GroupLayout.PREFERRED_SIZE, 59, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(bienvenido, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE) + .addGap(32, 32, 32).addComponent(lUser) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(fUser, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED).addComponent(lPass) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(fPass, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED).addComponent(lPass2) + .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(fPass2, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addGroup(registroLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(bRegister).addComponent(bSalir)) + .addContainerGap(76, Short.MAX_VALUE))); + panel.add(registro, "card2"); + GroupLayout layout = new GroupLayout(frame.getContentPane()); + frame.getContentPane().setLayout(layout); + layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup().addGap(0, 0, 0).addComponent(panel, GroupLayout.DEFAULT_SIZE, + GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); + layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE) + .addComponent(panel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); + frame.pack(); + frame.getRootPane().setDefaultButton(bRegister); + frame.setVisible(true); + frame.setLocationRelativeTo(null); + } + private void bRegisterActionPerformed(ActionEvent evt) + { + ControlLogin control = new ControlLogin(); + if(control.añadirUsuario(fUser.getText(), String.valueOf(fPass.getPassword()), String.valueOf(fPass2.getPassword()))) + { + Login login = new Login(); + frame.dispose(); + } + } + private void bSalirActionPerformed(ActionEvent evt) + { + Login login = new Login(); + frame.dispose(); + } +}