⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downloadstable.java

📁 JMule是一个基于Java开发
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			 //g.setColor(Color.GRAY);			 //System.out.println(pixels_for_byte);			  //g.drawLine(0, 6, this.getWidth(), 6);				// g.fillRect(2, 2, this.getWidth(), 7);			  g.setColor(Color.WHITE);			  //g.fillRect(0, 1, this.getWidth(), 1);			  g.drawLine(0, 3, this.getWidth(), 3);			  for(Gap gap : gap_list.getGaps()) {				  g.fillRect( Math.round(gap.getStart()*pixels_for_byte), 						     4, 						     Math.round(gap.getEnd()*pixels_for_byte - gap.getStart()*pixels_for_byte), 						     this.getHeight());			  }			  /*for(Pair p : pairs) {				  g.fillRect( Math.round(p.getX()*pixels_for_byte), 						     5, 						     Math.round(p.getY()*pixels_for_byte - p.getX()*pixels_for_byte), 						     this.getHeight());				  // ---------------------------------------------------------				  System.out.println(Math.round(p.getX()*pixels_for_byte));				  System.out.println(Math.round(p.getY()*pixels_for_byte - p.getX()*pixels_for_byte));			  }*/		}							}		class DoneTableCellRenderer extends DownloadTableCellRenderer {		public Component getTableCellRendererComponent(JTable table, Object value,				boolean isSelected, boolean hasFocus, int row, int column) {			super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);            this.setHorizontalAlignment(SwingConstants.RIGHT);            this.setText(NumberFormatter.formatProgress(session.getPercentCompleted()) + " ");			return this;		}	}		class CompletedSourcesTableCellRenderer extends DownloadTableCellRenderer {		public Component getTableCellRendererComponent(JTable table, Object value,				boolean isSelected, boolean hasFocus, int row, int column) {			super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);            this.setHorizontalAlignment(SwingConstants.CENTER);            this.setText(session.getCompletedSources()+"");			return this;		}	}		class PartialSourcesTableCellRenderer extends DownloadTableCellRenderer {		public Component getTableCellRendererComponent(JTable table, Object value,				boolean isSelected, boolean hasFocus, int row, int column) {			super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);            this.setHorizontalAlignment(SwingConstants.CENTER);            this.setText(session.getPartialSources()+"");			return this;		}	}		class ETATableCellRenderer extends DownloadTableCellRenderer {		public Component getTableCellRendererComponent(JTable table, Object value,				boolean isSelected, boolean hasFocus, int row, int column) {			super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);            this.setHorizontalAlignment(SwingConstants.RIGHT);            this.setText(TimeFormatter.format(session.getETA()) + " ");			return this;		}	}		class StatusTableCellRenderer extends DownloadTableCellRenderer {		public Component getTableCellRendererComponent(JTable table, Object value,				boolean isSelected, boolean hasFocus, int row, int column) {			super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);			this.setHorizontalAlignment(SwingConstants.LEFT);			if( session.getStatus() == DownloadSession.STATUS_STARTED ) this.setText(" started");			else if( session.getStatus() == DownloadSession.STATUS_STOPPED ) this.setText(" stopped");			return this;		}	}		class ProgressBarTableCellRenderer extends JProgressBar implements  TableCellRenderer { //extends DefaultTableCellRenderer {        public Component getTableCellRendererComponent(JTable table, Object value,				boolean isSelected, boolean hasFocus, int row, int column) {			DownloadSession session = (DownloadSession)value;			//JProgressBar progress_bar = new JProgressBar();			this.setMinimum(0);			this.setMaximum((int)session.getFileSize());			this.setValue((int)session.getTransferredBytes());			this.setStringPainted(true);			this.setBackground(Color.WHITE);			this.setForeground(new Color(0,100,199));			//this.setBorder(javax.swing.BorderFactory.createEtchedBorder());			this.setBorder(new javax.swing.border.LineBorder(java.awt.Color.lightGray, 1, true));			//this.setBorderPainted(false);			//this.setLayout(new GridLayout(1,1));			//if(isSelected) {			//	  this.setForeground(table.getSelectionForeground());			//	  this.setBackground(table.getSelectionBackground());			//} else {			//	  this.setForeground(table.getForeground());			//	  this.setBackground(table.getBackground());			//}			//this.setOpaque(true);			//this.add(progress_bar);			return this;		}	}		private SwingGUIUpdater _gui_updater = SwingGUIUpdater.getInstance();	protected final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();		public DownloadsTable(JFrame parent) {		super(parent);		init();			}		private void init() {				//JMTableColumn order = new JMTableColumn();		//order.setIdentifier(UIConstants.DOWNLOAD_LIST_ORDER_ID);		//order.setModelIndex(DownloadTableModel.ORDER);		//order.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_ORDER_ID));		//order.setHeaderValue("#");		//order.setCellRenderer(new OrderTableCellRenderer());				//table_columns.add(order);				TableColumnExt file_name = new TableColumnExt();		file_name.setIdentifier(UIConstants.DOWNLOAD_LIST_FILE_NAME_COLUMN_ID);		file_name.setModelIndex(DownloadTableModel.FILE_NAME);		file_name.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_FILE_NAME_COLUMN_ID));		file_name.setHeaderValue("File name");		file_name.setCellRenderer(new FileNameTableCellRenderer());		file_name.setComparator(new GeneralComparator("getSharingName"));				table_columns.add(file_name);				TableColumnExt file_size = new TableColumnExt();		file_size.setIdentifier(UIConstants.DOWNLOAD_LIST_SIZE_COLUMN_ID);		file_size.setModelIndex(DownloadTableModel.FILE_SIZE);		file_size.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_SIZE_COLUMN_ID));		file_size.setHeaderValue("Size");		file_size.setCellRenderer(new FileSizeTableCellRenderer());		file_size.setComparator(new GeneralComparator("getFileSize"));				table_columns.add(file_size);				TableColumnExt transferred = new TableColumnExt();		transferred.setIdentifier(UIConstants.DOWNLOAD_LIST_TRANSFERRED_COLUMN_ID);		transferred.setModelIndex(DownloadTableModel.TRANSFERRED);		transferred.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_TRANSFERRED_COLUMN_ID));		transferred.setHeaderValue("Transferred");		transferred.setCellRenderer(new TransferredTableCellRenderer());		transferred.setComparator(new GeneralComparator("getTransferredBytes"));				table_columns.add(transferred);				TableColumnExt download_speed = new TableColumnExt();		download_speed.setIdentifier(UIConstants.DOWNLOAD_LIST_DOWNLOAD_SPEED_COLUMN_ID);		download_speed.setModelIndex(DownloadTableModel.DOWNLOAD_SPEED);		download_speed.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_DOWNLOAD_SPEED_COLUMN_ID));		download_speed.setHeaderValue("Down speed");		download_speed.setCellRenderer(new DownloadSpeedTableCellRenderer());		download_speed.setComparator(new GeneralComparator("getSpeed"));				table_columns.add(download_speed);				TableColumnExt upload_speed = new TableColumnExt();		upload_speed.setIdentifier(UIConstants.DOWNLOAD_LIST_UPLOAD_SPEED_COLUMN_ID);		upload_speed.setModelIndex(DownloadTableModel.UPLOAD_SPEED);		upload_speed.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_UPLOAD_SPEED_COLUMN_ID));		upload_speed.setHeaderValue("Up speed");		upload_speed.setCellRenderer(new UploadSpeedTableCellRenderer());		upload_speed.setComparator(new Comparator() {			public int compare(Object o1, Object o2) {				DownloadSession d_session1 = (DownloadSession)o1;				DownloadSession d_session2 = (DownloadSession)o2;				UploadSession u_session1 = null;				UploadSession u_session2 = null;				if(_upload_manager.hasUpload(d_session1.getFileHash()))					u_session1 = _upload_manager.getUpload(d_session1.getFileHash());				if(_upload_manager.hasUpload(d_session2.getFileHash()))					u_session2 = _upload_manager.getUpload(d_session2.getFileHash());				Float u_speed1 = new Float((u_session1!=null)?u_session1.getSpeed():0.0f);				Float u_speed2 = new Float((u_session2!=null)?u_session2.getSpeed():0.0f);								return Misc.compareAllObjects(u_speed1, u_speed2, "floatValue", true);			}			});				table_columns.add(upload_speed);				TableColumnExt pieces = new TableColumnExt();		pieces.setIdentifier(UIConstants.DOWNLOAD_LIST_PROGRESS_COLUMN_ID);		pieces.setModelIndex(DownloadTableModel.PIECES);		pieces.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_PROGRESS_COLUMN_ID));		pieces.setHeaderValue("Pieces");		pieces.setCellRenderer(new PiecesTableCellRenderer());		pieces.setComparator(new GeneralComparator("getPercentCompleted"));				table_columns.add(pieces);				TableColumnExt done = new TableColumnExt();		done.setIdentifier(UIConstants.DOWNLOAD_LIST_COMPLETED_COLUMN_ID);		done.setModelIndex(DownloadTableModel.DONE);		done.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_COMPLETED_COLUMN_ID));		done.setHeaderValue("Done");		done.setCellRenderer(new DoneTableCellRenderer());		done.setComparator(new GeneralComparator("getPercentCompleted"));				table_columns.add(done);				TableColumnExt progress_bar = new TableColumnExt();		progress_bar.setIdentifier(UIConstants.DOWNLOAD_LIST_PROGRESS_BAR_COLUMN_ID);		progress_bar.setModelIndex(DownloadTableModel.PROGRESS_BAR);		progress_bar.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_PROGRESS_BAR_COLUMN_ID));		progress_bar.setHeaderValue("Progress");		progress_bar.setCellRenderer(new ProgressBarTableCellRenderer());		progress_bar.setComparator(new GeneralComparator("getPercentCompleted"));				table_columns.add(progress_bar);				TableColumnExt complete_sources = new TableColumnExt();		complete_sources.setIdentifier(UIConstants.DOWNLOAD_LIST_COMPLETE_SOURCES_COLUMN_ID);		complete_sources.setModelIndex(DownloadTableModel.COMPLETE_SOURCES);		complete_sources.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_COMPLETE_SOURCES_COLUMN_ID));		complete_sources.setVisible(true);		complete_sources.setHeaderValue("Complete sources");		complete_sources.setCellRenderer(new CompletedSourcesTableCellRenderer());		complete_sources.setComparator(new GeneralComparator("getCompletedSources"));				table_columns.add(complete_sources);				TableColumnExt partial_sources = new TableColumnExt();		partial_sources.setIdentifier(UIConstants.DOWNLOAD_LIST_PARTIAL_SOURCES_COLUMN_ID);		partial_sources.setModelIndex(DownloadTableModel.PARTIAL_SOURCES);		partial_sources.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_PARTIAL_SOURCES_COLUMN_ID));		partial_sources.setVisible(true);		partial_sources.setHeaderValue("Partial sources");		partial_sources.setCellRenderer(new PartialSourcesTableCellRenderer());		partial_sources.setComparator(new GeneralComparator("getPartialSources"));				table_columns.add(partial_sources);				TableColumnExt eta = new TableColumnExt();		eta.setIdentifier(UIConstants.DOWNLOAD_LIST_REMAINING_COLUMN_ID);		eta.setModelIndex(DownloadTableModel.ETA);		eta.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_REMAINING_COLUMN_ID));		eta.setHeaderValue("ETA");		eta.setCellRenderer(new ETATableCellRenderer());		eta.setComparator(new GeneralComparator("getETA"));				table_columns.add(eta);				TableColumnExt status = new TableColumnExt();		status.setIdentifier(UIConstants.DOWNLOAD_LIST_STATUS_COLUMN_ID);		status.setModelIndex(DownloadTableModel.STATUS);		status.setVisible(_pref.isColumnVisible(UIConstants.DOWNLOAD_LIST_STATUS_COLUMN_ID));		status.setHeaderValue("Status");		status.setCellRenderer(new StatusTableCellRenderer());		status.setComparator(new GeneralComparator("getStatus"));				table_columns.add(status);				super.buildColumns(new DownloadTableModel());				class PopupListener extends MouseAdapter {						JMenuItem start_download, stop_download, cancel_download,	                  paste_ed2k_links, copy_ed2k_links, column_setup, properties;						public PopupListener() {				 start_download = new JMenuItem("Start download");				 start_download.setIcon(ImgRep.getIcon("start_download.png"));				 start_download.addActionListener(new ActionListener() {					public void actionPerformed(ActionEvent e) {						for(DownloadSession session : getSelectedDownloadSessions()) 						  if(session.getStatus() == DownloadSession.STATUS_STOPPED)								session.startDownload();					}				 });				 stop_download = new JMenuItem("Stop download");				 stop_download.setIcon(ImgRep.getIcon("stop_download.png"));				 stop_download.addActionListener(new ActionListener() {					public void actionPerformed(ActionEvent e) {						for(DownloadSession session : getSelectedDownloadSessions()) 						  if(session.getStatus() == DownloadSession.STATUS_STARTED)								session.stopDownload();					}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -