From 2a96b72a24c766a8e97af97516f521a44ffaee0c Mon Sep 17 00:00:00 2001 From: potzplitz <127513690+potzplitz@users.noreply.github.com> Date: Sun, 25 Feb 2024 23:38:54 +0100 Subject: [PATCH] finished update checker --- .gitignore | 1 + bin/data/DownloadLevels.class | Bin 2511 -> 2631 bytes bin/data/ManageFiles.class | Bin 2081 -> 2298 bytes bin/main/Main.class | Bin 884 -> 777 bytes bin/module-info.class | Bin 155 -> 179 bytes src/data/DownloadLevels.java | 107 ++++++++++++++++++++++++++-------- src/data/ManageFiles.java | 9 +++ src/gui/MissingLevels.java | 94 +++++++++++++++++++++++++++++ src/main/Main.java | 3 +- src/module-info.java | 1 + 10 files changed, 190 insertions(+), 25 deletions(-) create mode 100644 .gitignore create mode 100644 src/gui/MissingLevels.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/bin/data/DownloadLevels.class b/bin/data/DownloadLevels.class index 6d09a47ec1a502a1cc66eef13f55fbfb3ae00745..11e69df4317a2be2c0bdfdaa8080699d00aa0e9d 100644 GIT binary patch literal 2631 zcmaJ@S#uOs6#j0~lMYQoW&#KkAO;9B$s`Pm3nqw?keJ|Pfe8r#qTWnjk|sUfLw8R$ z6~ui(#U0ct|AAFj;iQVGvdTBL%D>f7Jca`d8%USt3r>Lu-C0KBbABq6g`~P=ycQj;NHXZ; zb5?lfVn~XTxDaBt>o|xM!w%A)5|??w^1Cg^6GM67a+x(1B0>ABIQ(FWX+9||S%9ND z9>)_5n{uY-Q7T~zFlglQIh(@LFmUA~YuJ-<`KQ+Qg%v1KwV)jB#rB~U0<%AR_m zzg{+*juUv6FmrrHbUSvI`(vg*O>dshZC}=s!hD!j4TsPumo6RMI2DrDHxf}jhUrTlr97=;U|BAEZ_MR+DId}?Eag$M zm$Hn%V2LruHB_9XG%7aBWL?LyhPh3MXD}k0abA|K zfzU^V>zmZ#Axal_haJnzE=Z^gIxb4HU1ZkhxaOi``|BEZsd$l^pdzYa*O_vK=MkcY z3CY3)y5uscBP&rgLLHzpn=9m`Sm?OCBIfhU;%Ob`G7({`4|CJ@g(2I0Mu&wQm6;m` zL+kn(uSbJ)c68(=vW#QY^h~OV3b$hJj7(DviE=tA+k)9qdDNQ^Yw$2D37=z_NUS>! zg6&rh_Htu%R*Kh<^?)Xr1VP!ZVnOb-xLVp^Hl8imw(O>|&8s?ILoJpL#ddjg*_++I6g%hn-aAGZyhLF0H0{ z%TOgRRC=qTce;OR-9TSmq-FGswk|E|oAr&M$RD;t?gfJI1a_o0sDe!s7AB>dr+NWKqOa zl7hT4mW8$wyiK*b ziA#6~?^0*nr`~uE@6)Q_1B$*1ACeY9pL|9*pW{pVswcTePx<#1ZWCf0-_pCRy7wQV C#jZjC literal 2511 zcmaJ?+fy4=9R5xS*(5CGQY)nQR@wq>h+?G`+A0KUBLONbAFfa_x&#W+dmI}0&pI8 z6!-*or!`lL4O+`)*3!~R{kooY6!--i7q#nJEUTHB*x1~no^l2JQdXcj>FJDUrk2q! z8d=@x69}9$OvAk(P}ANqMbWsG*2AbloeBj(1@*MJT`de1bs_LZMJ)mX4N1e)M+><* z-JaCuvbywTrL^pnW*hRoeCT%<3`by33CC9Kgc3}bqY(%X-AL(q*RV_m)yinSpbRUP z7~8xFVK4S8*taF*i517yb1DwtAVabWjDAnDqI}slOn1VybuHH?V>qnh2#yNW=M2X& z%uIK)>e{+<5H&$#}yo_;Msbu;so01G^0zW?TNCDs!a4L=-i6d zC8A6-(|Srp6kT+k)0XtOWu`Rus^Knh=eU~blC|UQB}|?@20_KXY8U0BFkVErf|n{7 z$yrs{DqhBE0VOY)$eI%84pyg{ncGte&Is(Qa5qqxpVw_YoiOu-GKUIY6;M3^Q+H!m z#*<;3MV~C3({guS#Ra^^WLkOMEYV)YtxV=qTjaI}{Ze&6ptTHYn@Go$fppK5y%eqtj+3hONSV(tiuy zQ86Q(Ga=w#e4=+ zdY~jh@^;7>+pJOAs^(2#@21LjPAMOj?O!rQ4>Qb9Xl}*TopFylL5xp3tg1b!S?@(Q zqUF8*S3s2E39DeIyy-(aw~l}=85!{nSeEO!ww52!-32S{gyEo|fL+!0GQ*+g8+W+zyQeGLKFL9CFT%DiJM9~ME}61cM9x_PHJ7PGbGt_%l2VXollcFHnc z-E_NBRxZ|`%|^#HS5HTWZg7<4^yr|Tv&^WRP_h2;p}}Mn=|}2tUGTpq`wdYDovX z@f_b+lsxz0dG7suYmt_HQ}oBD2-Tcl#oyl}(s>^ZMI72+#0x*8;{i?rMZ~tBz5*o0 zsOa^tqi1>@XQxlDp|^;0Yk0l4b{+BQ?FvJ{8ZPz*n*8`N*sH9fJ`#v1HG6_Zyb-D8 zju%A?Pxl0U-)#I52|Pk;Bv8cIDjG-SThM!pK8(~p!f2$ni1AgL^GAO{DB>SoMME^= z{|+IpMNCMcpeGc4_+K*7hojLVrtkQ~{xa4gX20FQJ(82bU3^WNhOvtKe4fGY`~ltg zlfM>HEh+CoJ=Z1@xElvaaW|M|)7REKEd69BKd_laW-DB>SkR`et zaotAa29;|RT4m{M@G8W;f)4&qdVf6%;tDt)@dTj_#-QvVAXO%xAS{x6*40t6-`i}^ vsx&SQ%C*J6LDUs@1Yr?`4|zfb$*I9I6>fOzO>g}WAMqy4(~t2fK1bwV(FtyD diff --git a/bin/data/ManageFiles.class b/bin/data/ManageFiles.class index fcc7ce58495b57a5288fedf72ff865f815687f6a..161a997fe58e124bcfda1c2dc436d56fe9194be3 100644 GIT binary patch literal 2298 zcmaJ?T~ixX7=8{(*=D9SmvSx36%?2W}`RSX37EUBPa;Zq^Bn9{dN+U5ij<%TVAsK8Hl z+V*|hEf>_Pa(uq+uSNnV6bSSbLf4JJcCzF3x?C^Ven7p{j9qqR(5Nec;dVM>kuc0@ zCa5z;?h@^c*uQ|t3+x>$I<{*EmzdPh@T@>`!Ye5QhnQZQxF*u*vCxYH0-a-_VG06A zETmuxbQf$_U2jwuRsEJ+beLJX;1#7aE97*D-gth-LRKDOK8rbqFT$9omi4@T@NMc?+Y+ z5*S%3?a+&QoEx5JAHqhtvKm&qMS~b}HniwfYqGAwcudc{vQ|{J!1i2H=haP|Z7-X@ z@$^MQ@w$cc8t3k^3a;8grLh>fG;mSC3IowdQ&4MaW-qwT~(WioiXf3T$=otGI1Mo20my3yG6&sJVrPeHErg&CM^~$WOPbtd}!e#+#|Pq`#w9&gz}n! zix!F?E0TW2`$XVqT6HS({ct#Vh$HJbY}RCNQu?T-#msR#Y}>cGTM` zSq!}Tx^8-1;G5Rg#@dm?Ytk)oBMuZiZ>3So?QVCAWSilw^_ps!+D0)ul<=vIG%Ze z6SO|Lfj%Bj@%Y>Z1~Q2a3~qVrWoR&|Bva~!MXz1x<6V2VB3~H7a2Sh|62}>5E;_~3 z0~{V{;@s^mhi3SYW<7^OC%utk>_mrp0WZ>xz)MWK125A}lDAiM2poI^DWLlz>S>>?*mQDX10r)xRaTCh{5DN zg7Bpf$K&TF?*8!4cf1UKkAwUSur7UTLh8yAA@HMN*N(80#|X^{oW)80ZuD_h`Z33z z7by>L2A^UOUlB45VSiLjTzv{FPz0F2WEjH|%B;Uat^G*;1xx&i*^WPOn$I>a@hKw7 za!83$N_A(G%9@N8HY+Rl-6=k<+qC`pY}oce-&$#X&SCG+0SwGU)vEM AH2?qr delta 1051 zcmZ8gOHUJF6g}Te+o8iaEf%3rkjk4DTLr}jpz^i~f>uFLkpYHwpcFz!qi%?ae}K$R z6C(?w3m1Y~5=e||_wID%zwm|ko7RXn>CD{ooqO)N_s)DPTKCEye{H`9(23++?nK2*N8ZbAcM5bp;TI?b}uWa;#F0|6ILUwLH$Jj;R79tPN*#6{O51Cdd^R18#H$4j!IVmcHLdZTs!i4c(;SSXCEqLF+w?UzR19Wu}i3^n2 z2q>bR=M%dj+Na*o7D_`q@KbjAI|Opst2|vL3aGk+YJ2F;Wq3N^MI{c>UEq_+3wBY& zy|_2w3ukd??5_{mK2XWH#}+Bc5%VIHf;!Zb3_}AI5YUKKP*sK|yT?z|Gk3BOdW%37 zVX@-{;yZ|p=i(!T9s7Wj+c*tu;mlBT7Uv!#vWedR2^WAYE{6Vvvlw~ASRfB(abMt=&TgQU@Z4r^+Py{yr3sJ1L1TPP341qLvu6d4d?69HY}O=h(_JOLP6BiG QHA&`pNrnY1VhLrx0YfjMiU0rr diff --git a/bin/main/Main.class b/bin/main/Main.class index bfc1924a11ca6d7f6ed048b2c6e80ecc3232a03d..913bbedc213852823f56c362d90ee5b6f532b490 100644 GIT binary patch delta 119 zcmeyu*2%_o>ff$?3=9mm4Eh_n3K%D^W$c*j%T&(U%D}|H0u)!Be3nUtcO#I+#J~k4 zO I3pPa$0Eh+ff$?3=9mm3}zd-3K)&q8PpgVgi{hr67^m3%ky&b6H|Or%TjZSxfoO# zI6;Ia4}%s18zTcp3RHe_6=R2ps1K%|$^RIuIhQgpF|YzHFrM7Rq*A||K{awagSr)q zB+E7ijg3HYCI&7bsm8zwB>5OP82A}@7z7za7=#!kfTRM0D1!=vID;;bXT%`QzztMo z0x^$4n?VQ2;{ejS40;TVK-KaL`V0m@6BQVQ84Q8ynSnBFK-U^GumI&v7=RQLgDC+0 CE-8}$ diff --git a/bin/module-info.class b/bin/module-info.class index 3ec61ff0d18a0b516a7d7737b839c5977d56719e..86e559007bf1fbb557a6f5620f9923a53bc1c3b6 100644 GIT binary patch delta 68 zcmbQuxS5gb)W2Q(7#J9A8F(ggg$nRwC6*=XrKA>Tm*f`+GjLCgRhN}vU;`>(U|?e4 M0MlFzU> ERFOLGREICH \n"); + } + JOptionPane.showMessageDialog(null, "Alle " + data.missingLevels().size() + " Level wurden erfolgreich heruntergeladen.", "Download abgeschlossen", JOptionPane.INFORMATION_MESSAGE); + main.dispose(); + + System.out.println("main gui starten IN DOWNLOADLEVELS NICHT VERGESSEN HIER EINFÜGEN"); + + } + + }); + serverThread.start(); + + } } diff --git a/src/data/ManageFiles.java b/src/data/ManageFiles.java index 3e430fe..16ec12e 100644 --- a/src/data/ManageFiles.java +++ b/src/data/ManageFiles.java @@ -4,10 +4,14 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import gui.MissingLevels; + public class ManageFiles { private FetchData fetch = new FetchData(); + private MissingLevels gui = new MissingLevels(); private static ArrayList missinglevels = new ArrayList(); // fehlende noch zu herunterladende level + private int missing = 0; private void feedMissingLevelsArray(String levelname) { // fehlende level werden missinglevels hinzugefügt @@ -26,9 +30,14 @@ public class ManageFiles { if(!file.exists()) { // wenn der level lokal nicht vorhanden ist, wird er als fehlend gemeldet. System.out.println(fetch.allLevels().get(i) + " fehlt"); feedMissingLevelsArray(fetch.allLevels().get(i)); + missing++; } } + if(missing > 0) { + gui.show(missinglevels, missing); + } + } public ArrayList missingLevels() { // missinglevels wird zurückgegeben diff --git a/src/gui/MissingLevels.java b/src/gui/MissingLevels.java new file mode 100644 index 0000000..fa512b0 --- /dev/null +++ b/src/gui/MissingLevels.java @@ -0,0 +1,94 @@ +package gui; + +import java.awt.Button; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.IOException; +import java.util.ArrayList; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; + +import data.DownloadLevels; + +public class MissingLevels { + + public void show(ArrayList missinglevels, int missing) { + + JFrame main = new JFrame("Liste nicht aktuell"); + main.setSize(400, 360); + main.setLayout(null); + main.setResizable(false); + main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JLabel missingLevelsLabel = new JLabel("Für die Liste ist ein Update verfügbar."); + missingLevelsLabel.setBounds(80, 1, 380, 20); + + JLabel infoLabel = new JLabel("Folgende " + missing + " Level sind nicht vorhanden: "); + infoLabel.setBounds(1, 40, 380, 20); + + JLabel separator = new JLabel("____________________________________________________________________________________________________________________"); + separator.setBounds(0, 260, 500, 30); + + JLabel question = new JLabel("Möchten Sie die Liste aktualisieren?"); + question.setBounds(90, 255, 500, 30); + + Button yes = new Button("Ja"); + yes.setBounds(72, 285, 100, 30); + + Button no = new Button("Nein"); + no.setBounds(200, 285, 100, 30); + + JTextArea area = new JTextArea(); + area.setEditable(false); + area.setLineWrap(true); + area.setWrapStyleWord(true); + + JScrollPane scroll = new JScrollPane(area); + scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); + scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scroll.setBounds(1, 60, 383, 201); + + for(int i = 0; i < missinglevels.size(); i++) { + area.append(missinglevels.get(i) + "\n"); + } + + yes.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + main.dispose(); + DownloadLevels download = new DownloadLevels(); + try { + download.download(); + } catch (IOException e1) { + e1.printStackTrace(); + } + + } + }); + + no.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // haupt gui aufrufen + + } + }); + + + main.add(missingLevelsLabel); + main.add(infoLabel); + main.add(scroll); + main.add(question); + main.add(yes); + main.add(no); + main.add(separator); + + main.setVisible(true); + + + } + +} diff --git a/src/main/Main.java b/src/main/Main.java index 48b327c..fc82d4b 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -20,8 +20,7 @@ public class Main { ManageFiles manager = new ManageFiles(); manager.compareArrays(); - DownloadLevels download = new DownloadLevels(); - download.download(); + } diff --git a/src/module-info.java b/src/module-info.java index 8b64736..6588caa 100644 --- a/src/module-info.java +++ b/src/module-info.java @@ -5,4 +5,5 @@ * */ module ExtremeDemonList { + requires java.desktop; } \ No newline at end of file