From 205f059ec5df1a24daa87f8563d2bbb99344ecf9 Mon Sep 17 00:00:00 2001 From: tspitzer Date: Tue, 17 Sep 2013 15:38:08 +0200 Subject: g --- Dozentenmodul/src/GUI/FTPDownloader.java | 161 +++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 Dozentenmodul/src/GUI/FTPDownloader.java (limited to 'Dozentenmodul/src/GUI/FTPDownloader.java') diff --git a/Dozentenmodul/src/GUI/FTPDownloader.java b/Dozentenmodul/src/GUI/FTPDownloader.java new file mode 100644 index 00000000..b936a966 --- /dev/null +++ b/Dozentenmodul/src/GUI/FTPDownloader.java @@ -0,0 +1,161 @@ +package GUI; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.FlowLayout; +import java.io.File; +import javax.swing.JButton; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.SwingConstants; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; + +import downloader.DownloadTask; + +import ftp.ftp; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +@SuppressWarnings("serial") +public class FTPDownloader extends JFrame implements PropertyChangeListener { + + @SuppressWarnings("unused") + private JPanel contentPane; + private final JPanel contentPanel = new JPanel(); + JLabel lblNewLabel; + JProgressBar progressBar; + ftp f=new ftp(); + String host="openslx-nfs.rz.hs-offenburg.de"; + int port=21; + String username="tspitzer"; + String password="21071989"; + String downloadPath="_vorlagen/"; + String filename=""; + static String arg=""; + /** + * Launch the application. + */ + /*public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + FTPDownloader frame = new FTPDownloader(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + }*/ + + /** + * Create the frame. + */ + public FTPDownloader(String name) { + //setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + + filename=name; + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + //filename=name; + setBackground(Color.WHITE); + setTitle("Downloader"); + setBounds(100, 100, 450, 218); + getContentPane().setLayout(new BorderLayout()); + contentPanel.setBackground(Color.WHITE); + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel, BorderLayout.CENTER); + contentPanel.setLayout(null); + { + JButton btnSpeicherortAuswhlen = new JButton("Speicherort ausw\u00E4hlen"); + btnSpeicherortAuswhlen.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + JFileChooser fc=new JFileChooser(); + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + + fc.showOpenDialog(getParent()); + File dir=fc.getSelectedFile(); + lblNewLabel.setText(dir.getAbsolutePath()); + } + }); + + btnSpeicherortAuswhlen.setBounds(10, 11, 141, 23); + btnSpeicherortAuswhlen.setVerticalAlignment(SwingConstants.TOP); + btnSpeicherortAuswhlen.setHorizontalAlignment(SwingConstants.LEFT); + contentPanel.add(btnSpeicherortAuswhlen); + } + + lblNewLabel = new JLabel("C:\\"); + lblNewLabel.setBounds(169, 11, 255, 23); + contentPanel.add(lblNewLabel); + + JButton btnDownloadStarten = new JButton("Download starten"); + btnDownloadStarten.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + buttonDownloadActionPerformed(arg0); + } + }); + + btnDownloadStarten.setBounds(10, 106, 141, 23); + contentPanel.add(btnDownloadStarten); + + progressBar = new JProgressBar(0,100); + progressBar.setStringPainted(true); + + + progressBar.setBounds(10, 45, 414, 30); + contentPanel.add(progressBar); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBackground(Color.WHITE); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane, BorderLayout.SOUTH); + { + JButton okButton = new JButton("OK"); + okButton.setActionCommand("OK"); + buttonPane.add(okButton); + getRootPane().setDefaultButton(okButton); + } + { + JButton cancelButton = new JButton("Zur\u00FCck"); + cancelButton.setActionCommand("Cancel"); + buttonPane.add(cancelButton); + } + } + setVisible(true); + + } + + private void buttonDownloadActionPerformed(ActionEvent event) { + + progressBar.setValue(0); + DownloadTask task = new DownloadTask(host, port, username, password,downloadPath+filename, lblNewLabel.getText(), this); + task.addPropertyChangeListener(this); + task.execute(); + } + + public void propertyChange(PropertyChangeEvent arg0) { + if ("progress" == arg0.getPropertyName()) { + int progress = (Integer) arg0.getNewValue(); + progressBar.setValue(progress); + } + + } + + + +} \ No newline at end of file -- cgit v1.2.3-55-g7522