亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? downloadmanager.java

?? HTTP單線程下載實例
?? JAVA
字號:
import java.awt.*;   
import java.awt.event.*;   
import java.net.*;   
import java.util.*;   
import javax.swing.*;   
import javax.swing.event.*; 

public class DownloadManager extends JFrame implements Observer{ 
	private JTextField addTextField;
	private DownloadsTableModel tableModel;   //table列表模型
	private JTable table;   //table列表
	
	private JButton pauseButton, resumeButton;   
	private JButton cancelButton, clearButton;
	private Download selectedDownload;  
	private boolean clearing; //列表flag  
	
	public DownloadManager() {   
		setTitle("超級迅雷");       
		addWindowListener(new WindowAdapter() {   
			public void windowClosing(WindowEvent e) {   
				actionExit();   
			}   
		});   
		  
		JMenuBar menuBar = new JMenuBar();   
		JMenu fileMenu = new JMenu("文件");   
		fileMenu.setMnemonic(KeyEvent.VK_F);   
		JMenuItem  fileExitMenuItem = new JMenuItem("退出",KeyEvent.VK_X);   
		fileExitMenuItem.addActionListener(new ActionListener() {   
			public void actionPerformed(ActionEvent e) {   
			    actionExit();   
			}   
		});   
		fileMenu.add(fileExitMenuItem);   
		menuBar.add(fileMenu);   
		setJMenuBar(menuBar);   

		JPanel addPanel = new JPanel();   
		addTextField = new JTextField(30);   
		addPanel.add(addTextField);   
		JButton addButton = new JButton("添加下載任務");   
		addButton.addActionListener(new ActionListener() {   
			public  void actionPerformed(ActionEvent e) {   
				actionAdd();   
			}   
		});   
		addPanel.add(addButton);   
		 
		tableModel = new DownloadsTableModel();   
		table = new JTable(tableModel);   
		table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {   
			public   void   valueChanged(ListSelectionEvent   e)   {   
			  	tableSelectionChanged();   
			}   
		});    
		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  //只允許一行被選中
		
		ProgressRenderer renderer = new ProgressRenderer(0,100);   
		renderer.setStringPainted(true);   
		table.setDefaultRenderer(JProgressBar.class, renderer);   
		table.setRowHeight((int)renderer.getPreferredSize().getHeight());   
		JPanel downloadsPanel = new JPanel();     
		downloadsPanel.setLayout(new BorderLayout());   
		downloadsPanel.add(new JScrollPane(table),BorderLayout.CENTER);
		JPanel buttonsPanel = new JPanel();   
		pauseButton = new JButton("暫停");   
		pauseButton.addActionListener(new ActionListener(){   
			public   void   actionPerformed(ActionEvent   e){   
			  	actionPause();   
			}   
		});   
		pauseButton.setEnabled(false);   
		buttonsPanel.add(pauseButton);   
		resumeButton = new JButton("繼續");   
		resumeButton.addActionListener(new ActionListener() {   
		public void actionPerformed(ActionEvent e) {   
			  	actionResume();   
			}   
		});   
		resumeButton.setEnabled(false);   
		buttonsPanel.add(resumeButton);   
		cancelButton = new JButton("取消");   
		cancelButton.addActionListener(new ActionListener() {   
		public void actionPerformed(ActionEvent e) {   
		  		actionCancel();   
			}   
		});   
		cancelButton.setEnabled(false);   
		buttonsPanel.add(cancelButton);   
		clearButton = new JButton("清除");   
		clearButton.addActionListener(new ActionListener()  {   
		public   void   actionPerformed(ActionEvent  e)  {   
		  		actionClear();   
			}   
		});   
		clearButton.setEnabled(false);   
		buttonsPanel.add(clearButton);   
		getContentPane().setLayout(new BorderLayout());   
		getContentPane().add(addPanel, BorderLayout.NORTH);   
		getContentPane().add(downloadsPanel, BorderLayout.CENTER);   
		getContentPane().add(buttonsPanel, BorderLayout.SOUTH);
		
		setSize(640,480);
		setVisible(true);   
	}
	
	private void actionExit() {   
	  	System.exit(0);   
	}   
    
	//   Add   a   new   download.   
	private  void  actionAdd() {   
		URL verifiedUrl = verifyUrl(addTextField.getText());   
		if (verifiedUrl != null) {   
		  tableModel.addDownload(new Download(verifiedUrl));   
		  addTextField.setText(""); 
		}else{
			JOptionPane.showMessageDialog(this,"無效的下載地址", "錯誤", JOptionPane.ERROR_MESSAGE);   
		}   
	}
	
	private URL verifyUrl(String url) {
		if   (!url.toLowerCase().startsWith("http://")) //只允許HTTP下載
			return   null;
		URL verifiedUrl = null;
		try {
			verifiedUrl = new URL(url);
		}catch(Exception e){   
              return null;   
        }
        if (verifiedUrl.getFile().length() < 2) //確保連接指定的是個文件
              return null;
        return verifiedUrl;
    }   
    
	private void tableSelectionChanged() {
		if (selectedDownload != null)
			selectedDownload.deleteObserver(DownloadManager.this); 
		if (!clearing) {
			selectedDownload = tableModel.getDownload(table.getSelectedRow());   
			selectedDownload.addObserver(DownloadManager.this);
			updateButtons();   
		}   
	}
	
	private void actionPause() {   
        selectedDownload.pause();   
        updateButtons();   
    }   
    
	private void actionResume() {
		selectedDownload.resume();   
		updateButtons();   
	}   
	 
	private void actionCancel() {   
		selectedDownload.cancel();   
		updateButtons();   
	}   
	
	private void actionClear() {   
		clearing = true;   
		tableModel.clearDownload(table.getSelectedRow());   
		clearing = false;   
		selectedDownload = null;   
		updateButtons();   
	}   
	
	private void updateButtons() {   
		if (selectedDownload != null) {   
			int status = selectedDownload.getStatus();   
			switch (status) {   
				case Download.DOWNLOADING:   
					pauseButton.setEnabled(true);   
					resumeButton.setEnabled(false);   
					cancelButton.setEnabled(true);   
					clearButton.setEnabled(false);   
					break;   
				case Download.PAUSED:   
					pauseButton.setEnabled(false);   
					resumeButton.setEnabled(true);   
					cancelButton.setEnabled(true);   
					clearButton.setEnabled(false);   
					break;   
				case Download.ERROR:   
					pauseButton.setEnabled(false);   
					resumeButton.setEnabled(true);   
					cancelButton.setEnabled(false);   
					clearButton.setEnabled(true);   
					break;   
				default: 
					pauseButton.setEnabled(false);   
					resumeButton.setEnabled(false);   
					cancelButton.setEnabled(false);   
					clearButton.setEnabled(true);   
			}   
		}else{ 
			pauseButton.setEnabled(false);   
			resumeButton.setEnabled(false);   
			cancelButton.setEnabled(false);   
			clearButton.setEnabled(false);   
		}   
	}
	 
	public void update(Observable o, Object arg) {   
		if (selectedDownload != null && selectedDownload.equals(o))
			updateButtons();   
	}   
	
	public static void main(String[] args) {   
		DownloadManager manager = new DownloadManager();     
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清免费观看高清完整版在线观看| 欧美一级欧美一级在线播放| 亚洲一区二区偷拍精品| 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品三级电影| 日韩精品一区二区三区老鸭窝| 91国偷自产一区二区开放时间 | 欧美一级日韩免费不卡| 在线观看日韩av先锋影音电影院| 成人91在线观看| 国产白丝网站精品污在线入口| 免费久久精品视频| 天天免费综合色| 午夜视黄欧洲亚洲| 日本欧美一区二区| 日本一道高清亚洲日美韩| 五月婷婷激情综合| 日本不卡视频在线| 国模一区二区三区白浆| 国产精品综合视频| av综合在线播放| 在线视频欧美精品| 欧美高清视频在线高清观看mv色露露十八| 在线免费视频一区二区| 欧美久久久久久蜜桃| 欧美一卡二卡在线| 久久久久久久免费视频了| 欧美激情资源网| 亚洲精品国产一区二区精华液| 一区二区三区免费观看| 午夜精品一区二区三区免费视频 | 亚洲高清免费视频| 另类综合日韩欧美亚洲| 日本韩国欧美一区| 欧美午夜一区二区三区免费大片| 欧美精品丝袜久久久中文字幕| 欧美v日韩v国产v| 亚洲欧洲国产日韩| 日本不卡123| 国产乱一区二区| 91婷婷韩国欧美一区二区| 欧美在线免费视屏| 精品国产91九色蝌蚪| 日韩理论片中文av| 热久久久久久久| 成人av网站大全| 在线不卡的av| 国产精品午夜在线| 蜜乳av一区二区| 99久久综合狠狠综合久久| 欧美日韩精品系列| 国产精品高潮呻吟| 免费在线成人网| 91免费观看视频| 欧美成人乱码一区二区三区| 亚洲视频 欧洲视频| 喷水一区二区三区| 91丨porny丨在线| 日韩视频免费观看高清完整版| 国产精品免费久久久久| 欧美aa在线视频| 日韩一区二区免费电影| 国产精品美女久久久久aⅴ| 琪琪久久久久日韩精品| 色综合色狠狠综合色| 久久久久久久久蜜桃| 日韩电影一二三区| 色一区在线观看| 国产精品久久久久天堂| 美女视频第一区二区三区免费观看网站 | 首页国产欧美日韩丝袜| 99国产精品久久久久久久久久久| 亚洲精品一区二区三区香蕉| 亚洲午夜羞羞片| 91亚洲精品乱码久久久久久蜜桃| 2021中文字幕一区亚洲| 日本aⅴ亚洲精品中文乱码| 91国偷自产一区二区三区成为亚洲经典 | 人人精品人人爱| 69p69国产精品| 亚洲国产日韩一级| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产午夜精品一区二区| 韩国女主播一区| 精品久久国产97色综合| 久久精品国产99国产精品| 欧美一区二区在线观看| 午夜视频一区在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲人xxxx| 91久久线看在观草草青青 | 国产精品久久久久久久久免费相片| 六月丁香综合在线视频| 久久影院视频免费| 国产夫妻精品视频| 国产精品美女久久久久aⅴ国产馆| 国产成人精品免费视频网站| 中文av字幕一区| 91免费版pro下载短视频| 亚洲另类一区二区| 欧美日韩一区二区不卡| 免费高清视频精品| 国产亚洲欧美一区在线观看| 国产盗摄一区二区| 亚洲视频在线一区| 欧美日韩在线不卡| 久久99精品久久久久婷婷| 久久久久久久一区| aaa欧美日韩| 一区二区三区在线高清| 7777精品伊人久久久大香线蕉 | 一区二区三区日韩欧美| 久久这里只有精品6| 懂色av一区二区三区免费观看| 国产精品久久久久影院| 欧美男女性生活在线直播观看| 日本怡春院一区二区| 国产精品另类一区| 精品视频一区三区九区| 激情久久五月天| 亚洲女与黑人做爰| 日韩三级在线免费观看| 成人一区在线观看| 一区二区三区日韩| 精品久久五月天| 在线观看欧美精品| 国产精品乡下勾搭老头1| 亚洲女人****多毛耸耸8| 日韩欧美三级在线| 欧洲一区二区av| 国产一区二区主播在线| 亚洲午夜一区二区三区| 国产午夜精品理论片a级大结局| 一本到不卡精品视频在线观看| 美女一区二区三区在线观看| 日韩理论片网站| 久久综合色婷婷| 欧美日韩一区二区在线视频| 成人性色生活片免费看爆迷你毛片| 亚洲国产精品嫩草影院| 中文字幕乱码久久午夜不卡 | 91网页版在线| 国产成人99久久亚洲综合精品| 日韩高清欧美激情| 一区二区国产盗摄色噜噜| 日本一区二区三区视频视频| 日韩欧美一二三四区| 欧美三级一区二区| 日本道精品一区二区三区| 国产 欧美在线| 国产在线一区观看| 久久9热精品视频| 日韩精品电影在线| 亚洲国产日韩在线一区模特| 亚洲色图欧美激情| 中文字幕视频一区| 国产精品久久久久久久裸模| 久久久久久久一区| 精品国产3级a| 久久久亚洲综合| 精品国产91洋老外米糕| 精品国产91亚洲一区二区三区婷婷| 欧美日韩国产小视频| 欧美三级在线看| 欧美日本高清视频在线观看| 精品视频123区在线观看| 在线观看亚洲成人| 欧美日韩精品久久久| 欧美日韩一区不卡| 欧美精品在线观看播放| 67194成人在线观看| 欧美一区二区视频在线观看| 欧美一级xxx| 2021久久国产精品不只是精品| 久久日韩粉嫩一区二区三区| 国产日韩欧美高清在线| 国产精品天干天干在线综合| 国产精品久久久久aaaa樱花| 亚洲欧美日本韩国| 亚洲高清在线精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 蜜乳av一区二区三区| 国产精品白丝jk黑袜喷水| 丰满白嫩尤物一区二区| 91婷婷韩国欧美一区二区| 色综合久久99| 欧美精品乱人伦久久久久久| 日韩欧美视频一区| 欧美激情在线一区二区| 一区二区三区不卡视频在线观看| 午夜精品视频在线观看| 狠狠色狠狠色综合系列| 成年人午夜久久久| 日本精品一区二区三区高清 | 免费看欧美美女黄的网站| 韩国欧美国产1区| 一本久久综合亚洲鲁鲁五月天| 91精品国产入口| 国产精品天美传媒沈樵| 亚洲电影在线免费观看|