public DownloaderFrame() {
		pb = new JProgressBar();
		pb.setMinimum(0);
		pb.setMaximum(100);
		url = new FontTextField();
		url.setPreferredSize(new Dimension(280, url.getPreferredSize().height));
		url.setToolTipText("URL");
		nbConnection = new FontComboBox();
		nbConnection.setToolTipText("Nb connection");
		for (int i = 1; i < 16; i++)
			nbConnection.addItem("" + i);
		nbConnection.setSelectedIndex(4);
		start = new FontButton(" Start ");

		setLayout(new BorderLayout());
		JPanel top = new JPanel();
		top.setLayout(new FlowLayout());
		top.add(nbConnection);
		top.add(url);
		top.add(start);

		statut = new FontLabel(" - ");
		statut.setHorizontalAlignment(JLabel.CENTER);

		add(top, BorderLayout.NORTH);
		add(pb, BorderLayout.CENTER);
		add(statut, BorderLayout.SOUTH);

		start.addMouseListener(new MouseAdapter() {
			public void mouseReleased(MouseEvent arg0) {
				if (url == null || url.getText().trim().length() < 6) {
					return;
				}
				if (dm == null) {
					url.setEditable(false);
					nbConnection.setEnabled(false);
					start.setText(" Stop ");
					dl.start();
				} else {
					dl.setStop(true);
					start.setEnabled(false);
				}
			}
		});

		pack();
		setVisible(true);
		setResizable(false);
		setLocationRelativeTo(getParent());
		setTitle("Downloader");

		dl = new Download();

		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				dl.setStop(true);
				dispose();
			}
		});

		url.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				if (e.getButton() == MouseEvent.BUTTON2) {
					url.setText("");
				}
				if (e.getButton() == MouseEvent.BUTTON3) {
					Transferable contents = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
					if (contents != null && contents.isDataFlavorSupported(DataFlavor.stringFlavor)) {
						try {
							String link = (String) contents.getTransferData(DataFlavor.stringFlavor);
							url.setText(link);
						} catch (Exception ex) {
						}
					}
				}
			}
		});
		url.requestFocus();
	}