From 9f7c44a1afe2a599a9e0249b480cfa3b4155e9e6 Mon Sep 17 00:00:00 2001 From: tspitzer Date: Thu, 17 Oct 2013 14:41:12 +0200 Subject: Version vom 17.10 -Hinweise eingefügt -Freigabe GUI ohne funktionalität eingefügt -Fenster zentriert -Download und Upload um Informationen erweitert --- Dozentenmodul/src/GUI/FTPDownloader.java | 94 +++++++++++++++++++++++++++----- 1 file changed, 81 insertions(+), 13 deletions(-) (limited to 'Dozentenmodul/src/GUI/FTPDownloader.java') diff --git a/Dozentenmodul/src/GUI/FTPDownloader.java b/Dozentenmodul/src/GUI/FTPDownloader.java index 9cd38d1c..3b053d7d 100644 --- a/Dozentenmodul/src/GUI/FTPDownloader.java +++ b/Dozentenmodul/src/GUI/FTPDownloader.java @@ -2,7 +2,9 @@ package GUI; import java.awt.BorderLayout; import java.awt.Color; +import java.awt.Dimension; import java.awt.FlowLayout; +import java.awt.Toolkit; import java.io.File; import javax.swing.JButton; import javax.swing.JFileChooser; @@ -39,6 +41,14 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { String filename=""; static String arg=""; DownloadTask task; + JLabel bytesreadlbl; + JLabel lblNewLabel_3; + JLabel labelVerbleibend; + long filesize; + double speed; + long bytesread; + JLabel labelZeit; + boolean taskrun=false; /** * Launch the application. */ @@ -62,8 +72,10 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { - + if(taskrun==true) + { task.cancel(true); + } dispose(); } }); @@ -83,7 +95,11 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { //filename=name; setBackground(Color.WHITE); setTitle("Downloader"); - setBounds(100, 100, 450, 218); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + int top=(screenSize.height - 603) / 2; + int left=(screenSize.width - 250) / 2; + setBounds(left, top, 603, 250); + //setBounds(100, 100, 603, 250); getContentPane().setLayout(new BorderLayout()); contentPanel.setBackground(Color.WHITE); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); @@ -119,14 +135,14 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { } }); - btnDownloadStarten.setBounds(10, 106, 141, 23); + btnDownloadStarten.setBounds(10, 155, 141, 23); contentPanel.add(btnDownloadStarten); progressBar = new JProgressBar(0,100); progressBar.setStringPainted(true); - progressBar.setBounds(10, 45, 414, 30); + progressBar.setBounds(10, 45, 577, 30); contentPanel.add(progressBar); JLabel lblDownloadgeschwindigkeit = new JLabel("Downloadgeschwindigkeit:"); @@ -134,8 +150,40 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { contentPanel.add(lblDownloadgeschwindigkeit); downspeed = new JLabel("0"); - downspeed.setBounds(169, 81, 46, 14); + downspeed.setBounds(169, 81, 95, 14); contentPanel.add(downspeed); + + JLabel lblNewLabel_1 = new JLabel("Fertig:"); + lblNewLabel_1.setBounds(10, 106, 46, 14); + contentPanel.add(lblNewLabel_1); + + bytesreadlbl = new JLabel(""); + bytesreadlbl.setBounds(66, 106, 108, 14); + contentPanel.add(bytesreadlbl); + + JLabel lblNewLabel_2 = new JLabel("von:"); + lblNewLabel_2.setBounds(179, 106, 46, 14); + contentPanel.add(lblNewLabel_2); + + lblNewLabel_3 = new JLabel(""); + lblNewLabel_3.setBounds(235, 106, 108, 14); + contentPanel.add(lblNewLabel_3); + + JLabel lblMbVerbleibend = new JLabel("Verbleibend:"); + lblMbVerbleibend.setBounds(353, 106, 71, 14); + contentPanel.add(lblMbVerbleibend); + + labelVerbleibend = new JLabel(""); + labelVerbleibend.setBounds(434, 106, 108, 14); + contentPanel.add(labelVerbleibend); + + JLabel lblGeschtzteVerbleibendeZeit = new JLabel("Gesch\u00E4tzte Verbleibende Zeit:"); + lblGeschtzteVerbleibendeZeit.setBounds(274, 81, 150, 14); + contentPanel.add(lblGeschtzteVerbleibendeZeit); + + labelZeit = new JLabel(""); + labelZeit.setBounds(425, 81, 117, 14); + contentPanel.add(labelZeit); { JPanel buttonPane = new JPanel(); buttonPane.setBackground(UIManager.getColor("Button.background")); @@ -156,8 +204,10 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { JButton cancelButton = new JButton("Zur\u00FCck"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + if(taskrun==true) + { task.cancel(true); + } dispose(); } }); @@ -175,29 +225,47 @@ public class FTPDownloader extends JFrame implements PropertyChangeListener { task = new DownloadTask(host, port, username, password,downloadPath+filename, lblNewLabel.getText(), this); task.addPropertyChangeListener(this); task.execute(); - + taskrun=true; } - + public void propertyChange(PropertyChangeEvent arg0) { + + if ("progress" == arg0.getPropertyName()) { int progress = (Integer) arg0.getNewValue(); progressBar.setValue(progress); } if("speed"==arg0.getPropertyName()){ - double speed=(double)arg0.getNewValue(); + speed=(double)arg0.getNewValue(); //if(speed<=1){ - downspeed.setText(String.valueOf(speed)); + + downspeed.setText(String.valueOf(speed).substring(0,String.valueOf(speed).lastIndexOf(".")+3)+" MB/s"); + // }else //{ //double MBSpeed=speed/1024; //downspeed.setText(String.valueOf((MBSpeed)).substring(0, String.valueOf(MBSpeed).indexOf("."))); //} + } + if("bytesread"==arg0.getPropertyName()) + { + bytesread=(long)arg0.getNewValue(); + bytesreadlbl.setText((bytesread/1024/1024)+" MB"); + labelVerbleibend.setText(((filesize/1024/1024)-(bytesread/1024/1024))+" MB"); + + + labelZeit.setText(String.valueOf(((((filesize/1024/1024)-(bytesread/1024/1024))/speed)/60)+1).substring(0,String.valueOf((((filesize/1024/1024)-(bytesread/1024/1024))/speed)/60).lastIndexOf("."))+ " Minuten"); + + + } + if("filesize"==arg0.getPropertyName()) + { + filesize=(long)arg0.getNewValue(); + lblNewLabel_3.setText((filesize/1024/1024)+" MB"); + } } - - - } \ No newline at end of file -- cgit v1.2.3-55-g7522