From 73e2ad246cdcb19a8e3b0d6b4510d3fcdcd360c7 Mon Sep 17 00:00:00 2001 From: DomH Date: Sun, 4 Jun 2023 07:15:08 -0400 Subject: [PATCH] GUI update --- .../Dom-s-FTP-Client/FTPClientJ.class | Bin 2493 -> 2607 bytes .../Dom-s-FTP-Client/FileBrowserGUI$1.class | Bin 679 -> 679 bytes .../Dom-s-FTP-Client/FileBrowserGUI$2.class | Bin 682 -> 682 bytes .../Dom-s-FTP-Client/FileBrowserGUI$3.class | Bin 755 -> 755 bytes .../Dom-s-FTP-Client/FileBrowserGUI$4.class | Bin 755 -> 755 bytes .../Dom-s-FTP-Client/FileBrowserGUI$5.class | Bin 755 -> 755 bytes .../Dom-s-FTP-Client/FileBrowserGUI$6.class | Bin 1404 -> 1404 bytes .../Dom-s-FTP-Client/FileBrowserGUI$7.class | Bin 1968 -> 1542 bytes .../Dom-s-FTP-Client/FileBrowserGUI$8.class | Bin 512 -> 512 bytes .../Dom-s-FTP-Client/FileBrowserGUI.class | Bin 6333 -> 6717 bytes src/FTPClientJ.java | 4 +- src/FileBrowserGUI.java | 61 ++++++++++-------- src/Main.java | 7 ++ 13 files changed, 41 insertions(+), 31 deletions(-) create mode 100644 src/Main.java diff --git a/out/production/Dom-s-FTP-Client/FTPClientJ.class b/out/production/Dom-s-FTP-Client/FTPClientJ.class index c4b087a4e3cb17cadf6a50bf2a232f7a2be4d34b..15b437aee6ec4f4c43319d2ef5dc8219a3c04c72 100644 GIT binary patch delta 796 zcmYLG+fUPA96jH*wrjhMu`!@>310AqTmp((VlZM5jUhTTgeZwqDhx)a+XO*$h!+&E zNn;`=JorGoBnI)JBoKY_$v5NwqaGFrY5Vnjzy8iSztit~bg4x9^>_6LfOfoG*5baP z+IitzM=ELAIRVr8Euzk(tUJ0l=uFF!aw45hSqa-2_syvOtYr^$CR3JEC6zU)aceZ4 zvrZ;60>1Sx0@1U>iLpduDq#;cZV=l9q%5Z>zP$z_uEpn@rZ;;rhY zBApcZ0DT>H74%%3=`~ar-5b^Og$B*k49&&GWeC(@5g*aR2$vYaMg>=uI}HkS zUI7##h$sV=A}enrkTerB0tA}jWNbh zahr-qA^&5Rkb;TAeTS>q+)OAQOgK|&W$j(IdT_5WkDsGV^LdOXtZGD0@eD6u{09{# Bo-+Ud delta 698 zcmZXQ%}*0S7{-4~w>#~&VA)b|w4y1fPP}?-*?Kk4y3v=#>nJwj}4B|umW7(N(Y9d?Ar3R);`C_iiz?vE<&5V=` zod5rNrQl-SxZ;XI?B7;zuXU*ErcIeS#jPma-1f$-FUEqGQnltigGTS0Rp*^iG2?+Z zsmf*J2LYmz^u43{V~K7joOU9v=~TKwXNzmCQ=M5Q?kcTXl0G$BwQAF6YiB4CT4wYk zNvFYQk5)mS=D~H^GCH_QyBl8TKt_jG>2PhWw57v7hu7!=ZTs|eMm9=sB2r$aYD46h zh`b@P0sA)fe2x!l<&*w%dSa7cyCEI&Ikkd8JLn5D$7mDjZK zj&@Fq-GUgT=_AWoG0ezo4|7fe6s32B^AaOPiJYL2^aU9uFG${+F~+3^7=FtH1-XqS zgd!KH5TTb`l(T?{KVwpmDYtkkLIsgX@I+!3gkR4?rn!V-Mx+j6{gT{K#bw2;A?xq- fzK4^ISA|o-HLgnyiQf%b^W2f0E$A-ySw#N^@IHt% diff --git a/out/production/Dom-s-FTP-Client/FileBrowserGUI$1.class b/out/production/Dom-s-FTP-Client/FileBrowserGUI$1.class index 86474cf0fa0efe052d85488c6e6ba1af4beee9d5..35bfcde94720f0ba5f9ee5fbafcfc9ce596ba8f8 100644 GIT binary patch delta 23 ecmZ3^x}0@`028D3WI-lRRy_uG2K~wLOdbG1M+Dmd delta 23 ecmZ3^x}0@`028CuWI-lRR$T^m2EEDgOdbG1Dg@X7 diff --git a/out/production/Dom-s-FTP-Client/FileBrowserGUI$2.class b/out/production/Dom-s-FTP-Client/FileBrowserGUI$2.class index 32905bba260fd28c95733d81a6029f2fe10cf258..1d78814ec7ea16b7a5a35613b7a58a1f2cdf6f82 100644 GIT binary patch delta 23 ecmZ3*x{7s!FcYK6WDzD$R&xe+28+o_OdbG3HU$L$ delta 23 ecmZ3*x{7s!FcYKkWDzD$Rx<{62J^{DOdbG383h6W diff --git a/out/production/Dom-s-FTP-Client/FileBrowserGUI$3.class b/out/production/Dom-s-FTP-Client/FileBrowserGUI$3.class index 30157f3b9ee449563caff6d8e6a17f28ac76f8ec..941c98da42b8280484d277a4b6d69f6fbe58d0d9 100644 GIT binary patch delta 17 Ycmey&`k8gZGA34U1~vwt$*Y+>066Ida{vGU delta 17 Ycmey&`k8gZGA34E1~vx2$*Y+>067H(cK`qY diff --git a/out/production/Dom-s-FTP-Client/FileBrowserGUI$4.class b/out/production/Dom-s-FTP-Client/FileBrowserGUI$4.class index 532859a06950c36ded08b94ff76a8c54863ddfc7..72731a0dff14563021d6289089e087a63ea0174f 100644 GIT binary patch delta 23 ecmey&`k8e@EE8kksBMhPcVAnLGep&j#cG delta 23 ecmey&`k8e@EE8kgvQ& z=mR)++;GV)L^33p7_WT+-hhW7hPXQ=p5*MEwX*j1j6#FF0w{o!eDbyF~zVb)CqhK3dWXH#o-y^>jJZdB`){Fv24Q9(C% zek=sOsI*zC*PV@G&2BWD1_?BJP~1lK_0dI8v}CO^inQ;*srAV1azAfv&EsGT%i=Eu6JP<8=Pdas7_( zeKGoAeDYNymIM>yvwy-je*`hcyX~qq5I5PGxo6J3bI#4obM<|t^7ZHTX8`A6Y$)H^ zF$EzUS5bj5!-1Aqny>P(#`R=)!pf%fWTbVD zx)EWJlfufqmJZn=^r-0l4UO_;5uoEPsJMtehMHxb5m7@=aBDhcEz!!fxNeyYU3(n9 zhn(Gzf=jq8qhG}pG7&_;@vs&)?~(lQP>e4KjpUianiOkRIR+UZW0>J+?yaZcLz9Oy zyQFMyUy^k)P_qe z79HUFq9)A7m|&pnoza*H=U--=)u$@W&R?B4I^ZOCYyIlxx~V$`X-s zEHQZ4JY!G?bzNkm8aGX0%CIvGO}p&vrCP=^L;e4$48Ed89EOB)FbsiJRiO+%x(E{e z6^Ic!LaSbiCD?!x41EL(Zb9BCkVa|r5ec}DF&YmR5*1v|wctqG^wBrfwKP9Qpa1$>I20BPuGg>f- z>y+J&dQ71cUdkIrdKxnYfAK&5;+Vw^@-;^X_#yqkINPDVm0_L$iK@nF_R>@I<5mHw Z#%-FNZgcvRNKq6ZrqgfdOGAT>+F#fC@$~=z diff --git a/out/production/Dom-s-FTP-Client/FileBrowserGUI$8.class b/out/production/Dom-s-FTP-Client/FileBrowserGUI$8.class index c250a43aa793478ba97fe6d276ceacd0c4ebb508..9cb2dc147b77dd09fd2739be188339d2e4067219 100644 GIT binary patch delta 23 fcmZo*X<*qq`a>hF6mhG1>tDT~G(& delta 23 fcmZo*X<*qr(~}hG&xxG1>tDT-*oN diff --git a/out/production/Dom-s-FTP-Client/FileBrowserGUI.class b/out/production/Dom-s-FTP-Client/FileBrowserGUI.class index b3b459280c8ed296e8e63f35674930afe6e43d7f..594b5645b673c34255655e341bc8e01cb3b3ceb1 100644 GIT binary patch delta 3320 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 xOGOW!IgMEB?RK`^HppD_v_E&`YU backStack; private Stack forwardStack; @@ -64,16 +65,13 @@ public void actionPerformed(ActionEvent e) { buttonPanel.add(forwardButton, BorderLayout.EAST); contentPane.add(buttonPanel, BorderLayout.NORTH); - // Create the buttons section JPanel buttonsSection = new JPanel(); - buttonsSection.setLayout(new GridLayout(3, 1)); + buttonsSection.setLayout(new GridLayout(4, 1)); // Changed to 4 rows JButton button1 = new JButton("Button 1"); button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - // Define the functionality for Button 1 - // Add your custom code here JOptionPane.showMessageDialog(null, "Button 1 clicked"); } }); @@ -83,8 +81,6 @@ public void actionPerformed(ActionEvent e) { button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - // Define the functionality for Button 2 - // Add your custom code here JOptionPane.showMessageDialog(null, "Button 2 clicked"); } }); @@ -94,14 +90,16 @@ public void actionPerformed(ActionEvent e) { button3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - // Define the functionality for Button 3 - // Add your custom code here JOptionPane.showMessageDialog(null, "Button 3 clicked"); } }); buttonsSection.add(button3); - contentPane.add(buttonsSection, BorderLayout.EAST); + loadingBar = new JProgressBar(); + loadingBar.setStringPainted(true); // Display the percentage + buttonsSection.add(loadingBar); // Added loading bar to the layout + + contentPane.add(buttonsSection, BorderLayout.EAST); // Aligned buttons section to the right fileList.addMouseListener(new MouseAdapter() { @Override @@ -119,7 +117,6 @@ public void mouseClicked(MouseEvent e) { } }); - fileList.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { @@ -127,8 +124,8 @@ public void valueChanged(ListSelectionEvent e) { int selectedIndex = fileList.getSelectedIndex(); if (selectedIndex != -1) { String selectedFile = listModel.getElementAt(selectedIndex); - File file = new File(selectedFile); - selectedFileLabel.setText(currentDirectory.getPath()+"\\"+file.getName()); + File file = new File(currentDirectory, selectedFile); + selectedFileLabel.setText(file.getAbsolutePath()); } else { selectedFileLabel.setText(""); } @@ -136,8 +133,6 @@ public void valueChanged(ListSelectionEvent e) { } }); - - backStack = new Stack<>(); forwardStack = new Stack<>(); navigateToDirectory(new File(System.getProperty("user.home"))); @@ -164,7 +159,7 @@ private void navigateToDirectory(File directory) { updateFileList(directory); currentDirectory = directory; - selectedFileLabel.setText(currentDirectory.getPath()); + selectedFileLabel.setText(currentDirectory.getAbsolutePath()); } private void navigateBack() { @@ -172,33 +167,43 @@ private void navigateBack() { forwardStack.push(currentDirectory); forwardButton.setEnabled(true); - File directory = backStack.pop(); - updateFileList(directory); - currentDirectory = directory; + currentDirectory = backStack.pop(); + updateFileList(currentDirectory); if (backStack.isEmpty()) { backButton.setEnabled(false); } + } else { + // Navigate to the parent directory + File parentDirectory = currentDirectory.getParentFile(); + if (parentDirectory != null) { + forwardStack.push(currentDirectory); + forwardButton.setEnabled(true); + + currentDirectory = parentDirectory; + updateFileList(currentDirectory); + + backButton.setEnabled(true); + } } - selectedFileLabel.setText(currentDirectory.getPath()+"\\"); + selectedFileLabel.setText(currentDirectory.getAbsolutePath()); } + private void navigateForward() { if (!forwardStack.isEmpty()) { backStack.push(currentDirectory); backButton.setEnabled(true); - File directory = forwardStack.pop(); - updateFileList(directory); - currentDirectory = directory; + currentDirectory = forwardStack.pop(); + updateFileList(currentDirectory); if (forwardStack.isEmpty()) { forwardButton.setEnabled(false); } } - selectedFileLabel.setText(currentDirectory.getPath()+"\\"); - + selectedFileLabel.setText(currentDirectory.getAbsolutePath()); } private void updateFileList(File directory) { @@ -206,9 +211,9 @@ private void updateFileList(File directory) { File[] files = directory.listFiles(); if (files != null) { for (File file : files) { - if(file.isDirectory()){ - listModel.addElement(file.getName()+"\\"); - }else { + if (file.isDirectory()) { + listModel.addElement(file.getName() + File.separator); + } else { listModel.addElement(file.getName()); } } @@ -230,4 +235,4 @@ public void run() { } }); } -} +} \ No newline at end of file diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..27e13e9 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,7 @@ +import org.apache.commons.net.ftp.FTP; + +public class Main { + public static void main(String[] args){ + //FTPClientJ.FTPClient(); + } +}