📄 rivercrescentframe.java
字号:
} private void doDeleteAllFile(int index){ TaskInfo ti = (TaskInfo)taskInfoList.get(index); String riverType = ti.getTaskRiverFileType(); //单文件时 if ( riverType.equals("single") ){ String delname = ti.getTaskFileName(); File delfile = new File(delname); if (delfile.delete()) System.out.println("删除了此单文件的目的文件!"); else System.out.println("删除此单文件的目的文件时出错!"); } //多文件时 else{ String delrootname = ti.getTaskFileName(); this.delFolder(delrootname); } } private void initTask(){ //磁盘taskobj中保存的文件名,即,一个任务。 File[] filename ; //搜索taskobj文件夹中有哪些任务。 File file = new File("taskobj"); file.mkdir(); filename = file.listFiles(); //如果没有原来保存的任务,就退出 if ( filename.length == 0 ) return; for ( int j =0;j<filename.length;j++){ TaskInfo ti = null; PipeAdvertisement pad = null; ti = TaskInfo.taskInfoFromDisk(nw.getRiverCrescentNetDiscoveryService() , nw.getRiverCrescentNet(), filename[j].getName()); //初始化管道信息 Enumeration pipe_ae = null; for ( int i=0;i<3;i++){ try{ pipe_ae = ti.getTaskPeerGroup().getDiscoveryService().getLocalAdvertisements(DiscoveryService.ADV , "Id" , ti.getTaskPipeID() ); if ( (pipe_ae != null) && pipe_ae.hasMoreElements() ){ pad = (PipeAdvertisement) pipe_ae.nextElement(); ti.setTaskPipeadv( pad ); break; } Thread.sleep(300); } catch (Exception e) { System.out.println("TaskInfo 类中读入的对象 创建currentGroup时出错。"); } } if ( pad == null ) System.out.println("在缓存中没有发现管道ID是" + ti.getTaskPipeID() + "的管道。"); //初始化管道服务 PipeService ps = ti.getTaskPeerGroup().getPipeService(); ti.setTaskPipes(ps); //初始化其他 ti.setTaskTable(TaskTable); Boolean b = new Boolean(false); taskRunStatus.addElement(b); taskInfoList.addElement(ti); taskList.addElement(new Task()); //设置任务信息所需的DTM。 taskStatusPanelList.addElement(new TaskStatusPanel()); taskStatusTableModelList.addElement(((DefaultTableModel)((TaskStatusPanel)taskStatusPanelList.get(ti.getTaskIndex())).getPane().getModel()) ); ti.setTaskStatusTableModel((DefaultTableModel)taskStatusTableModelList.get(ti.getTaskIndex())); ((DefaultTableModel)taskStatusTableModelList.get(ti.getTaskIndex())).setRowCount(0); ti.taskUpdata(); } com.sinpool.rivercrescent.myutil.RSConfigure rsc = com.sinpool.rivercrescent.myutil.RSConfigure.readFromDisk(); if ( rsc.getStart_Launch_CheckBox_Selected() ){ for ( int i=0;i<taskInfoList.size();i++){ ((Task)taskList.get(i)).startTask( (TaskInfo)taskInfoList.get(i) ); } } } /** * 删除文件夹 * @param filePathAndName String 文件夹路径及名称 如c:/fqf * @param fileContent String * @return boolean */ private void delFolder(String folderPath){ try { delAllFile(folderPath); //删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath.delete(); //删除空文件夹 } catch (Exception e) { System.out.println("删除文件夹操作出错"); e.printStackTrace(); } } /** * 删除文件夹里面的所有文件 * @param path String 文件夹路径 如 c:/fqf */ private void delAllFile(String path) { File file = new File(path); if (!file.exists()) { return; } if (!file.isDirectory()) { return; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件 delFolder(path+"/"+ tempList[i]);//再删除空文件夹 } } } private void doShowLoaclPC(JTable jt){ ((DefaultTableModel)jt.getModel()).setRowCount(10); String data[] = new String[2]; Properties p = System.getProperties(); data[0] = "Java Runtime 名称"; data[1] = p.getProperty("java.runtime.name"); jt.setValueAt(data[0], 0, 0); jt.setValueAt(data[1], 0, 1); data[0] = "Java 虚拟机 版本号"; data[1] = p.getProperty("java.vm.version"); jt.setValueAt(data[0], 1, 0); jt.setValueAt(data[1], 1, 1); data[0] = "操作系统 类型"; data[1] = p.getProperty("os.arch"); jt.setValueAt(data[0], 2, 0); jt.setValueAt(data[1], 2, 1); data[0] = "操作系统名称"; data[1] = p.getProperty("os.name"); jt.setValueAt(data[0], 3, 0); jt.setValueAt(data[1], 3, 1); data[0] = "操作系统版本"; data[1] = p.getProperty("os.version"); jt.setValueAt(data[0], 4, 0); jt.setValueAt(data[1], 4, 1); data[0] = "操作系统用户国家"; data[1] = p.getProperty("user.country"); jt.setValueAt(data[0], 5, 0); jt.setValueAt(data[1], 5, 1); data[0] = "操作系统用户名"; data[1] = p.getProperty("user.name"); jt.setValueAt(data[0], 6, 0); jt.setValueAt(data[1], 6, 1); data[0] = "操作系统语言"; data[1] = p.getProperty("user.language"); jt.setValueAt(data[0], 7, 0); jt.setValueAt(data[1], 7, 1); data[0] = "操作系统用户目录"; data[1] = p.getProperty("user.home"); jt.setValueAt(data[0], 8, 0); jt.setValueAt(data[1], 8, 1); data[0] = "操作系统文件编码"; data[1] = p.getProperty("file.encoding"); jt.setValueAt(data[0], 9, 0); jt.setValueAt(data[1], 9, 1); } private void doShowFileListPanel(JTable jt , JLabel jl){ int selectedIndex = TaskTable.getSelectedRow(); if ( selectedIndex == -1 || (selectedIndex+1)>taskInfoList.size() ) { int i = prefixFileListLines; while ( i-- > 0 ) ((DefaultTableModel)jt.getModel()).removeRow(i); prefixFileListLines = 0; jl.setText("没有选择任务!"); JOptionPane.showMessageDialog(this,"请先选择任务!","警告",JOptionPane.WARNING_MESSAGE); return; } TaskInfo ti = (TaskInfo)taskInfoList.get(selectedIndex); //如果文件正在等待元信息文件,则只现实一个状态。 if ( ti.getTaskFileName().equals("?") ){ jl.setText("正在等待元文件……"); return; } String showTaskNo = String.valueOf(ti.getTaskIndex() + 1); String showTaskType = null; String s = ti.getTaskRiverFileType(); String rootPath = ti.getTaskFileName(); Hashtable ht = ti.getTaskDictionary(); int lines = ((Integer)ht.get("path_index")).intValue(); if ( s.equals("single") ){ jl.setText("这是第" + showTaskNo + "个任务。\n" + "此任务是:单文件类型"); ((DefaultTableModel)jt.getModel()).setRowCount(1); prefixFileListLines = 1; jt.setValueAt( rootPath , 0 , 0); return; } else jl.setText("这是第" + showTaskNo + "个任务。\n" + "此任务是:多文件类型。共有文件" + lines +"个"); ((DefaultTableModel)jt.getModel()).setRowCount(lines); prefixFileListLines = lines; String subPath = null; StringTokenizer st = null; StringBuffer sb = new StringBuffer(); for ( int i=1;i<=lines;i++){ subPath = (String)ht.get("path" + i); st = new StringTokenizer(subPath,"/"); while (st.hasMoreElements()){ sb.append((String)st.nextElement()); sb.append("\\"); } jt.setValueAt( rootPath + "\\" + sb.substring(0,sb.length()-1) , (i-1) , 0); sb.setLength(0); } } private void doShowTaskStatusPanel(){ int selectedIndex = TaskTable.getSelectedRow(); if ( selectedIndex == -1 || (selectedIndex+1)>taskInfoList.size() ) { JOptionPane.showMessageDialog(this,"请先选择任务!","警告",JOptionPane.WARNING_MESSAGE); return; } //先隐藏所有的Panel, fileListPanel.hide(); localPCPanel.hide(); for ( int i=0;i<taskStatusPanelList.size();i++) ((TaskStatusPanel)taskStatusPanelList.get(i)).hide(); //再显示所选中的Panel showPanel.add((TaskStatusPanel)taskStatusPanelList.get(selectedIndex),BorderLayout.CENTER); ((TaskStatusPanel)taskStatusPanelList.get(selectedIndex)).show(); backgroundPanel.updateUI(); } private Vector taskStatusPanelList = new Vector(5); //用于输出当前任务信息的容器组件(JPanel 对象) private Vector taskStatusTableModelList = new Vector(5); //保存用于输出当前任务信息的JTable组件(DTM 对象) private Vector taskRunStatus = new Vector(5); //保存当前加入的组运行状态,true运行,false停止(Boolean 对象) private Vector taskInfoList = new Vector(5); //保存当前加入的组(taskInfo 对象) private Vector taskList = new Vector(5); //保存当前加入的组(task 对象) private JoinedPeerGroups joinedPeerGroups; private String nowGroup; private int prefixFileListLines = 0; private FileListPanel fileListPanel = new FileListPanel(); private LocalPCPanel localPCPanel = new LocalPCPanel(); // 变量声明 - 不进行修改//GEN-BEGIN:variables private javax.swing.JMenuItem AboutMenuItem; private javax.swing.JMenuItem AllSelectedMenuItem; private javax.swing.JMenuItem AllStartMenuItem; private javax.swing.JMenuItem AllStopMenuItem; private javax.swing.JMenuItem DeleteAndFileMenuItem; private javax.swing.JMenuItem DeleteMenuItem; private javax.swing.JMenuItem GetGroupIDMenuItem; private javax.swing.JMenuItem JXTAMenuItem; private javax.swing.JMenuItem OpenTaskMenuItem; private javax.swing.JMenuItem OptionMenuItem; private javax.swing.JMenuItem PublishMenuItem; private javax.swing.JMenuItem ReverseSelectedMenuItem; private javax.swing.JMenuItem SearchMenuItem; private javax.swing.JMenuItem StartMenuItem; private javax.swing.JMenuItem StopMenuItem; private javax.swing.JTable TaskTable; private javax.swing.JToolBar ToolBar; private javax.swing.JMenuItem WWWMenuItem; private javax.swing.JPanel backgroundPanel; private javax.swing.JPanel backgroundPanel2; private javax.swing.JList channelList; private javax.swing.JButton deleteButton; private javax.swing.JButton deleteFileButton; private javax.swing.JMenu editMenu; private javax.swing.JButton exitButton; private javax.swing.JMenuItem exitMenuItem; private javax.swing.JMenu fileMenu; private javax.swing.JMenu helpMenu; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JSeparator jSeparator4; private javax.swing.JSeparator jSeparator5; private javax.swing.JSeparator jSeparator7; private javax.swing.JMenuBar menuBar; private javax.swing.JButton openButton; private javax.swing.JButton optionButton; private javax.swing.JMenu optionMenu; private javax.swing.JButton outportButton; private javax.swing.JButton publishButton; private javax.swing.JButton searchButton; private javax.swing.JPanel showPanel; private javax.swing.JButton startButton; private javax.swing.JLabel statusLabel; private javax.swing.JButton stopButton; private javax.swing.JMenu taskMenu; // 变量声明结束//GEN-END:variables }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -