- 浏览: 140323 次
- 性别:
- 来自: 宁波
-
文章分类
最新评论
-
每天一首喜欢的歌:
这是用什么软件做的
java仿迅雷下载 -
ma546659141:
厉害
java仿迅雷下载 -
shreo_2007:
完美运行.很强大.很好的学习资源
java仿迅雷下载 -
盖世英雄_1988:
我去,楼主你为什么这么吊,太强大了。。支持楼主,顶顶顶顶。。。 ...
java仿迅雷下载 -
WLLT:
niu 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 ...
java仿迅雷下载
package org.crazyit.flashget.ui; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Insets; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JToolBar; import javax.swing.Timer; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; import org.crazyit.flashget.ContextHolder; import org.crazyit.flashget.DownloadContext; import org.crazyit.flashget.info.Info; import org.crazyit.flashget.navigation.DownloadNode; import org.crazyit.flashget.navigation.DownloadingNode; import org.crazyit.flashget.navigation.FailNode; import org.crazyit.flashget.navigation.FinishNode; import org.crazyit.flashget.navigation.TaskNode; import org.crazyit.flashget.object.Resource; import org.crazyit.flashget.state.Downloading; import org.crazyit.flashget.state.Failed; import org.crazyit.flashget.state.Finished; import org.crazyit.flashget.state.Pause; import org.crazyit.flashget.util.DateUtil; import org.crazyit.flashget.util.FileUtil; import org.crazyit.flashget.util.ImageUtil; public class MainFrame extends JFrame { //导航树 private NavigationTree navTree; //下载列表 private DownloadTable downloadTable; //信息列表 private JList infoJList; //工具栏 private JToolBar toolBar = new JToolBar(); //新任务界面 private NewTaskFrame taskFrame; //所有任务节点 private TaskNode taskNode = new TaskNode(); //正在下载节点 private DownloadingNode downloadingNode = new DownloadingNode(); //下载失败节点 private FailNode failNode = new FailNode(); //下载完成节点 private FinishNode finishNode = new FinishNode(); //当前用户浏览的节点 private DownloadNode currentNode = taskNode; //信息列表的对象 private final static String FILE_SIZE_TEXT = "文件大小: "; private final static String FILE_PATH_TEXT = "文件路径: "; private final static String DOWNLOAD_DATE_TEXT = "下载时间: "; private final static String RESOURCE_INFO_TEXT = "资源信息: "; private List<Info> infoList = new ArrayList<Info>(); private Info fileSize = new Info(FILE_SIZE_TEXT); private Info filePath = new Info(FILE_PATH_TEXT); private Info downloadDate = new Info(DOWNLOAD_DATE_TEXT); private Info info = new Info(RESOURCE_INFO_TEXT); private Action newTask = new AbstractAction("新任务", new ImageIcon("images/tool/new-download.gif")) { public void actionPerformed(ActionEvent e) { newTask(); } }; private Action start = new AbstractAction("开始", new ImageIcon("images/tool/do-download.gif")) { public void actionPerformed(ActionEvent e) { start(); } }; private Action pause = new AbstractAction("暂停", new ImageIcon("images/tool/pause.gif")) { public void actionPerformed(ActionEvent e) { pause(); } }; private Action delete = new AbstractAction("删除任务", new ImageIcon("images/tool/delete.gif")) { public void actionPerformed(ActionEvent e) { delete(); } }; private Action deleteFinished = new AbstractAction("删除任务", new ImageIcon("images/tool/remove-finished.gif")) { public void actionPerformed(ActionEvent e) { deleteFinished(); } }; ActionListener refreshTable = new ActionListener() { public void actionPerformed(ActionEvent e) { //刷新列表 downloadTable.updateUI(); } }; //悬浮窗口 private SuspendWindow suspendWindow; //任务栏图标 private TrayIcon trayIcon; //任务栏图标菜单 private PopupMenu popupMenu = new PopupMenu(); private MenuItem openItem = new MenuItem("打开/关闭"); private MenuItem newItem = new MenuItem("新建下载任务"); private MenuItem startItem = new MenuItem("开始全部任务"); private MenuItem pauseItem = new MenuItem("暂停全部任务"); private MenuItem removeItem = new MenuItem("删除完成任务"); private MenuItem quitItem = new MenuItem("退出"); private BufferedImage trayIconImage = ImageUtil.getImage(ImageUtil.TRAY_ICON_PATH); public MainFrame() { //创建导航树 createTree(); createDownloadTable(); //创建信息列表 createList(); this.taskFrame = new NewTaskFrame(); //创建悬浮窗口 this.suspendWindow = new SuspendWindow(this); //创建任务栏图标 createTrayIcon(); //创建工具栏 createToolBar(); //得到屏幕大小 Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //导航滚动 JScrollPane navPane = new JScrollPane(this.navTree); JScrollPane downloadPane = new JScrollPane(this.downloadTable); int downloadPaneHeight = (int)(screen.height/1.5); int downloadPaneWidth = (int)(screen.width/0.8); downloadPane.setPreferredSize(new Dimension(downloadPaneWidth, downloadPaneHeight)); JScrollPane infoPane = new JScrollPane(this.infoJList); //主界面右边的分隔Pane JSplitPane rightPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, downloadPane, infoPane); rightPane.setDividerLocation(500); rightPane.setDividerSize(3); //主界面的分隔Pane JSplitPane mainPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, navPane, rightPane); mainPane.setDividerSize(3); mainPane.setDividerLocation((int)(screen.width/5.5)); this.add(mainPane); this.setPreferredSize(new Dimension(screen.width, screen.height - 30)); this.setVisible(true); this.setTitle("下载工具"); this.pack(); initlisteners(); //创建定时器 Timer timer = new Timer(1000, refreshTable); timer.start(); //读取序列化文件 reverseSer(); } public NewTaskFrame getNewTaskFrame() { return this.taskFrame; } /** * 创建任务栏图标 */ private void createTrayIcon() { this.popupMenu.add(openItem); this.popupMenu.add(newItem); this.popupMenu.add(startItem); this.popupMenu.add(pauseItem); this.popupMenu.add(removeItem); this.popupMenu.add(quitItem); try { SystemTray tray = SystemTray.getSystemTray(); this.trayIcon = new TrayIcon(trayIconImage, "多线程下载工具", this.popupMenu); this.trayIcon.setToolTip("多线程下载工具"); tray.add(this.trayIcon); } catch (Exception e) { e.printStackTrace(); } } private void initlisteners() { //点击列表鼠标监听器 this.downloadTable.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { //得到点击的资源 Resource r = getResource(); if (r == null) return; //设置信息显示区域的值 fileSize.setValue(FILE_SIZE_TEXT + r.getSize()); filePath.setValue(FILE_PATH_TEXT + r.getSaveFile().getAbsolutePath()); downloadDate.setValue(DOWNLOAD_DATE_TEXT + DateUtil.formatDate(r.getDownloadDate())); info.setValue(RESOURCE_INFO_TEXT + r.getState().getState()); //重新设置JList数据 infoJList.setListData(infoList.toArray()); } }); //点击导航树鼠标监听器 this.navTree.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e) { selectTree(); } }); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); } }); //任务栏图标监听器 this.trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { setVisible(true); } } }); this.openItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if (isVisible()) setVisible(false); else setVisible(true); } }); this.newItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { taskFrame.setVisible(true); } }); this.startItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { startAllTask(); } }); this.pauseItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { pauseAllTask(); } }); this.removeItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { deleteFinished(); } }); this.quitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { serializable(); System.exit(0); } }); } /** * 点击导航树触发的方法 */ private void selectTree() { DownloadNode selectNode = getSelectNode(); this.currentNode = selectNode; refreshTable(); } /** * 刷新列表 */ private void refreshTable() { DownloadTableModel model = (DownloadTableModel)this.downloadTable.getModel(); model.setResources(ContextHolder.ctx.getResources(currentNode)); } private DownloadNode getSelectNode() { TreePath treePath = this.navTree.getSelectionPath(); if (treePath == null) return null; //获得选中的TreeNode DefaultMutableTreeNode node = (DefaultMutableTreeNode)treePath.getLastPathComponent(); return (DownloadNode)node.getUserObject(); } private void addTableData() { DownloadTableModel model = (DownloadTableModel)this.downloadTable.getModel(); //将保存的资源设置到列表中 model.setResources(ContextHolder.ctx.resources); //刷新列表 this.downloadTable.refresh(); } /** * 反序列化 */ public void reverseSer() { File serFile = FileUtil.SERIALIZABLE_FILE; if (!serFile.exists()) return; try { //得到文件输入流 FileInputStream fis = new FileInputStream(serFile); ObjectInputStream ois = new ObjectInputStream(fis); //设置ContextHolder的DownloadContext ContextHolder.ctx = (DownloadContext)ois.readObject(); ois.close(); fis.close(); } catch (Exception e) { e.printStackTrace(); } //设置列表 addTableData(); } /** * 序列化(DownloadContext对象) */ public void serializable() { try { //序列化前先将所有正在下载的任务停止 for (Resource r : ContextHolder.ctx.resources) { if (r.getState() instanceof Downloading) { r.setState(ContextHolder.ctx.PAUSE); } } File serFile = FileUtil.SERIALIZABLE_FILE; //判断序列化文件是否存在, 不存在则创建 if (!serFile.exists()) serFile.createNewFile(); FileOutputStream fos = new FileOutputStream(serFile); ObjectOutputStream oos = new ObjectOutputStream(fos); //将上下文对象写到序列化文件中 oos.writeObject(ContextHolder.ctx); oos.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); } } public JTable getDownloadTable() { return this.downloadTable; } private void createDownloadTable() { DownloadTableModel tableModel = new DownloadTableModel(); this.downloadTable = new DownloadTable(); this.downloadTable.setModel(tableModel); this.downloadTable.setTableFace(); } private void createToolBar() { this.toolBar.setFloatable(false); this.toolBar.add(this.newTask).setToolTipText("新下载任务"); this.toolBar.add(this.start).setToolTipText("开始任务"); this.toolBar.add(this.pause).setToolTipText("暂停"); this.toolBar.add(this.delete).setToolTipText("删除"); this.toolBar.add(this.deleteFinished).setToolTipText("移除已经完成的任务"); this.toolBar.setMargin(new Insets(5, 10, 5, 5)); this.add(this.toolBar, BorderLayout.NORTH); } private void start() { Resource r = getResource(); if (r == null) return; if (r.getState() instanceof Pause || r.getState() instanceof Failed) { ContextHolder.dh.resumeDownload(r); } } /** * 开始全部任务 */ public void startAllTask() { for (Resource r : ContextHolder.ctx.resources) { if (r.getState() instanceof Pause || r.getState() instanceof Failed) { ContextHolder.dh.resumeDownload(r); } } } /** * 暂停全部任务 */ public void pauseAllTask() { for (Resource r : ContextHolder.ctx.resources) { if (r.getState() instanceof Downloading) { r.setState(ContextHolder.ctx.PAUSE); } } } private void newTask() { this.taskFrame.setVisible(true); } private void pause() { Resource r = getResource(); if (r == null) return; //判断状态 if (!(r.getState() instanceof Downloading)) return; r.setState(ContextHolder.ctx.PAUSE); } /** * 删除资源 */ private void delete() { Resource r = getResource(); if (r == null) return; //先将任务停止 r.setState(ContextHolder.ctx.PAUSE); //删除所有的.part文件 FileUtil.deletePartFiles(r); //从上下文集合中删除资源 ContextHolder.ctx.resources.remove(r); } /** * 删除已下载完成的资源 */ public void deleteFinished() { for (Iterator it = ContextHolder.ctx.resources.iterator(); it.hasNext();) { Resource r = (Resource)it.next(); if (r.getState() instanceof Finished) { it.remove(); } } } /** * 得到用户在列表中所选择的资源 * @return */ private Resource getResource() { int row = this.downloadTable.getSelectedRow(); int column = this.downloadTable.getColumn(DownloadTableModel.ID_COLUMN).getModelIndex(); if (row == -1) return null; String id = (String)this.downloadTable.getValueAt(row, column); return ContextHolder.ctx.getResource(id); } /** * 创建树 */ private void createTree() { DefaultMutableTreeNode root = new DefaultMutableTreeNode(); DefaultMutableTreeNode tn = new DefaultMutableTreeNode(taskNode); root.add(tn); //创建各个节点 tn.add(new DefaultMutableTreeNode(downloadingNode)); tn.add(new DefaultMutableTreeNode(failNode)); tn.add(new DefaultMutableTreeNode(finishNode)); this.navTree = new NavigationTree(root); } private void createList() { this.infoJList = new JList(); this.infoList.add(this.fileSize); this.infoList.add(this.filePath); this.infoList.add(this.downloadDate); this.infoList.add(this.info); this.infoJList.setListData(infoList.toArray()); } }
评论
5 楼
每天一首喜欢的歌
2018-01-11
这是用什么软件做的
4 楼
ma546659141
2017-08-30
厉害

3 楼
shreo_2007
2015-11-16
完美运行.很强大.很好的学习资源
2 楼
盖世英雄_1988
2015-05-12
我去,楼主你为什么这么吊,太强大了。。支持楼主,顶顶顶顶。。。。。

1 楼
WLLT
2012-05-19
niu 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
发表评论
文章已被作者锁定,不允许评论。
-
swt table 自己造个轮子
2013-04-05 15:28 1175半年前的代码了,swt自带的table 感觉不是很漂亮,就 ... -
java实现阿里旺旺界面
2012-04-22 17:02 3051package com.topthinking.exing ... -
java实现透明窗体
2012-04-22 17:04 4201package free; import j ... -
java实现tab可关闭(chrome风格)
2012-04-22 17:05 4114* @author zhangtao packa ... -
java实现http代理服务
2012-04-22 17:03 22286package httpProxy; /***** ... -
设置可关闭的tab
2012-04-21 14:01 4373package demo.swing; imp ... -
java实现千千静听界面
2012-04-21 14:00 1668package com.tianlong.TTPla ... -
java渲染水晶按钮
2012-04-21 13:59 3231import java.awt.Color; ... -
Java获取系统软件安装列表
2012-04-21 13:58 3791/** * @author < ... -
测试Swing所有组件及其相应的事件
2012-04-21 13:57 1668import java.awt.BorderLayo ...
相关推荐
Rocky Linux 8.10内核包
内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。
内容概要:该题库专为研究生入学考试计算机组成原理科目设计,涵盖名校考研真题、经典教材课后习题、章节题库和模拟试题四大核心模块。名校考研真题精选多所知名高校的计算机组成原理科目及计算机联考真题,并提供详尽解析,帮助考生把握考研命题趋势与难度。经典教材课后习题包括白中英《计算机组成原理》(第5版)和唐朔飞《计算机组成原理》(第2版)的全部课后习题解答,这两部教材被众多名校列为考研指定参考书目。章节题库精选代表性考题,注重基础知识与重难点内容,帮助考生全面掌握考试大纲要求的知识点。模拟试题依据历年考研真题命题规律和热门考点,精心编制两套全真模拟试题,并附标准答案,帮助考生检验学习成果,评估应试能力。 适用人群:计划参加研究生入学考试并报考计算机组成原理科目的考生,尤其是需要系统复习和强化训练的学生。 使用场景及目标:①通过研读名校考研真题,考生可以准确把握考研命题趋势与难度,有效评估复习成效;②通过经典教材课后习题的练习,考生可以巩固基础知识,掌握解题技巧;③通过章节题库的系统练习,考生可以全面掌握考试大纲要求的各个知识点,为备考打下坚实基础;④通过模拟试题的测试,考生可以检验学习成果,评估应试能力,为正式考试做好充分准备。 其他说明:该题库不仅提供详细的题目解析,还涵盖了计算机组成原理的各个方面,包括计算机系统概述、数据表示与运算、存储器分层、指令系统、中央处理器、总线系统和输入输出系统等。考生在使用过程中应结合理论学习与实践操作,注重理解与应用,以提高应试能力和专业知识水平。
__UNI__DB9970A__20250328141034.apk.1
rust for minio
国网台区终端最新规范
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
一个简单的机器学习代码示例,使用的是经典的鸢尾花(Iris)数据集,通过 Scikit-learn 库实现了一个简单的分类模型。这个代码可以帮助你入门机器学习中的分类任务。
pyqt离线包,pyqt-tools离线包
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
SQL常用日期和时间函数整理及在sqlserver测试示例 主要包括 1.查询当前日期GETDATE 2.日期时间加减函数DATEADD 3 返回两个日期中指定的日期部分之间的差值DATEDIFF 4.日期格式转换CONVERT(VARCHAR(10),GETDATE(),120) 5.返回指定日期的年份数值 6.返回指定日期的月份数值 7.返回指定日期的天数数值
GSDML-V2.3-Turck-BL20_E_GW_EN-20160524-010300.xml
T_CPCIF 0225-2022 多聚甲醛.docx
《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
蚕豆脱壳机设计.zip
台区终端电科院送检文档
Y6一39一No23.6D离心通风机 CAD().zip
django自建博客app
台区终端电科院送检文档
非开挖水平定向钻机动力头装置设计.zip