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

📄 rivercrescentframe.java

📁 一个基于NetBeans平台开发的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        for ( int i=0;i<taskInfoList.size();i++){            if ( TaskTable.isRowSelected(i) ) selected[i] = true;            else selected[i] = false;        }        //先全部选上,再去掉没被选上的。        TaskTable.setRowSelectionInterval(0,taskInfoList.size()-1);        for ( int i=0;i<taskInfoList.size();i++)            if ( selected[i] ) TaskTable.removeRowSelectionInterval(i,i);    }//GEN-LAST:event_ReverseSelectedMenuItemActionPerformed    private void AllSelectedMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AllSelectedMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        if (taskInfoList.size() == 0) {            JOptionPane.showMessageDialog(this,"当前没有任务!","警告",JOptionPane.WARNING_MESSAGE);             return;        }        TaskTable.setRowSelectionInterval(0,taskInfoList.size()-1);    }//GEN-LAST:event_AllSelectedMenuItemActionPerformed    private void stopButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_stopButtonActionPerformed        // TODO 将在此处增加您的处理代码:        int selectedIndex = TaskTable.getSelectedRow();        if ( selectedIndex == -1 || (selectedIndex+1)>taskInfoList.size() ) {JOptionPane.showMessageDialog(this,"请先选择任务!","警告",JOptionPane.WARNING_MESSAGE); return; }                        for ( int i=0;i<taskInfoList.size();i++){            if ( TaskTable.isRowSelected(i) ) {System.out.println("准备停止任务" + i);                this.doStop(i);            }        }    }//GEN-LAST:event_stopButtonActionPerformed    private void SearchMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SearchMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        this.doSearch();    }//GEN-LAST:event_SearchMenuItemActionPerformed    private void GetGroupIDMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_GetGroupIDMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        this.doOutport();    }//GEN-LAST:event_GetGroupIDMenuItemActionPerformed    private void outportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_outportButtonActionPerformed        // TODO 将在此处增加您的处理代码:        this.doOutport();    }//GEN-LAST:event_outportButtonActionPerformed    private void PublishMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PublishMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        this.doPublish();    }//GEN-LAST:event_PublishMenuItemActionPerformed    private void publishButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_publishButtonActionPerformed        // TODO 将在此处增加您的处理代码:        this.doPublish();    }//GEN-LAST:event_publishButtonActionPerformed    private void WWWMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_WWWMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        try{Runtime.getRuntime().exec("cmd.exe /c start http://www.jxta.org"); }catch (Exception e) {}    }//GEN-LAST:event_WWWMenuItemActionPerformed    private void JXTAMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JXTAMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        JXTADialog jd = new JXTADialog(this,true);        jd.show();    }//GEN-LAST:event_JXTAMenuItemActionPerformed    private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitButtonActionPerformed        // TODO 将在此处增加您的处理代码:        System.exit(0);    }//GEN-LAST:event_exitButtonActionPerformed    private void AboutMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AboutMenuItemActionPerformed        // TODO 将在此处增加您的处理代码:        AboutDialog ad = new AboutDialog(this,true);        ad.show();        this.repaint();    }//GEN-LAST:event_AboutMenuItemActionPerformed    private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchButtonActionPerformed        // TODO 将在此处增加您的处理代码:        this.doSearch();    }//GEN-LAST:event_searchButtonActionPerformed    private void channelListValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_channelListValueChanged        // TODO 将在此处增加您的处理代码:         fileListPanel.hide();         localPCPanel.hide();         for ( int i=0;i<taskStatusPanelList.size();i++)             ((TaskStatusPanel)taskStatusPanelList.get(i)).hide();         System.out.println("taskStatusPanelList= " + taskStatusPanelList.size());         switch (channelList.getSelectedIndex() ){             case 0 : {System.out.println("0");this.doShowTaskStatusPanel();break;}             case 1 : {System.out.println("1");showPanel.add(fileListPanel,BorderLayout.CENTER);fileListPanel.show();backgroundPanel.updateUI();this.doShowFileListPanel(fileListPanel.getPane(),fileListPanel.getLabel() );break;}             case 2 : {System.out.println("2");showPanel.add(localPCPanel,BorderLayout.CENTER);localPCPanel.show();backgroundPanel.updateUI();this.doShowLoaclPC(localPCPanel.getPane());break;}         }    }//GEN-LAST:event_channelListValueChanged    private void channelListMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_channelListMouseClicked    }//GEN-LAST:event_channelListMouseClicked        private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed        System.exit(0);    }//GEN-LAST:event_exitMenuItemActionPerformed    private void doSearch(){        FindNetDialog fnd = new FindNetDialog(this,true,nw);        fnd.show();                         int i = fnd.getReturnStatus();         int j = fnd.getJoinedGroupIndex();         String niceName = fnd.getNiceName();                  //没按加入时,直接退出,不做任何事情。         if ( i != 1 ) return;                 //加入组的操作        nowGroup = nw.joinGroup(j, niceName);        joinedPeerGroups = nw.getJoinedPeerGroups();                PeerGroup pg = (PeerGroup)((Hashtable)joinedPeerGroups.getGroup(nowGroup)).get("PeerGroup");                PipeService ps = (PipeService)((Hashtable)joinedPeerGroups.getGroup(nowGroup)).get("PipeService");        PipeAdvertisement padv = (PipeAdvertisement)((Hashtable)joinedPeerGroups.getGroup(nowGroup)).get("PipeAdvertisement");        String type = "join";                int nums = taskInfoList.size();                TaskInfo taskInfo = new TaskInfo(pg , ps , padv , type , TaskTable);                taskInfo.setTaskIndex(nums);                //自动开始任务        Task task = new Task();        taskInfo.taskUpdata();                //保存发布的信息        taskInfoList.addElement(taskInfo);        taskList.addElement(task);                //设置任务信息所需的DTM。        taskStatusPanelList.addElement(new TaskStatusPanel());        taskStatusTableModelList.addElement(((DefaultTableModel)((TaskStatusPanel)taskStatusPanelList.get(taskInfo.getTaskIndex())).getPane().getModel()) );        taskInfo.setTaskStatusTableModel((DefaultTableModel)taskStatusTableModelList.get(taskInfo.getTaskIndex()));        ((DefaultTableModel)taskStatusTableModelList.get(taskInfo.getTaskIndex())).setRowCount(0);                com.sinpool.rivercrescent.myutil.RSConfigure rsc = com.sinpool.rivercrescent.myutil.RSConfigure.readFromDisk();        Boolean b_auto = new Boolean(true);        Boolean b_manual = new Boolean(false);        boolean flag = rsc.getP_J_Launch_CheckBox_Selected();                if ( flag ) {            taskRunStatus.add(nums, b_auto);            task.startTask(taskInfo);        }        else {            taskRunStatus.add(nums, b_manual);        }    }    private void doPublish(){        //填写必要信息,如组名、描述和昵称,        PublishArgsDialog pad = new PublishArgsDialog(this,true);        pad.show();                int i = pad.getReturnStatus();        if ( i == 0 ) return;        String groupName = pad.getGroupName();        String groupMiaoShu = pad.getGroupMiaoShu();        String groupNiceName = pad.getNiceName();        boolean fileType = pad.getFileType();        int pieceLength = pad.getPieceLength();                //选择共享的文件。        EncoderBencoding eb = new EncoderBencoding();        eb.setSingle(fileType);        eb.setPL(pieceLength);        eb.encoderBencoding();                //获得当前已经加入的组        nowGroup = nw.publishNewPeerGroup(groupName, groupMiaoShu, groupNiceName);        joinedPeerGroups = nw.getJoinedPeerGroups();                //获得构造TaskInfo对象的参数        PeerGroup pg = (PeerGroup)((Hashtable)joinedPeerGroups.getGroup(nowGroup)).get("PeerGroup");        String rfn = eb.getRiverscentFileName();        String fap ;        if (fileType)//单文件            fap = eb.getShareFileAbsoluteFileName();        else        //多文件            fap = eb.getShareFilePath();        PipeService ps = (PipeService)((Hashtable)joinedPeerGroups.getGroup(nowGroup)).get("PipeService");        PipeAdvertisement padv = (PipeAdvertisement)((Hashtable)joinedPeerGroups.getGroup(nowGroup)).get("PipeAdvertisement");        String type = "publish";                //获得当前加入了几个组        int nums = taskInfoList.size();                //设置当前任务的索引        TaskInfo taskInfo = new TaskInfo(pg,rfn,fap,ps,padv,type,TaskTable);        taskInfo.setTaskIndex(nums);        //自动开始任务        Task task = new Task();        taskInfo.taskUpdata();                //保存发布的信息        taskInfoList.addElement(taskInfo);        taskList.addElement(task);                //设置任务信息所需的DTM。        taskStatusPanelList.addElement(new TaskStatusPanel());        taskStatusTableModelList.addElement(((DefaultTableModel)((TaskStatusPanel)taskStatusPanelList.get(taskInfo.getTaskIndex())).getPane().getModel()) );        taskInfo.setTaskStatusTableModel((DefaultTableModel)taskStatusTableModelList.get(taskInfo.getTaskIndex()));        ((DefaultTableModel)taskStatusTableModelList.get(taskInfo.getTaskIndex())).setRowCount(0);                com.sinpool.rivercrescent.myutil.RSConfigure rsc = com.sinpool.rivercrescent.myutil.RSConfigure.readFromDisk();        Boolean b_auto = new Boolean(true);        Boolean b_manual = new Boolean(false);        boolean flag = rsc.getP_J_Launch_CheckBox_Selected();                if ( flag ) {            taskRunStatus.add(nums, b_auto);            task.startTask(taskInfo);        }        else {            taskRunStatus.add(nums, b_manual);        }    }    private void doOutport(){        int selectedIndex = TaskTable.getSelectedRow();        if ( selectedIndex == -1 ) {JOptionPane.showMessageDialog(this,"请先选择一个任务!","警告",JOptionPane.WARNING_MESSAGE); return; }        else {            if ( selectedIndex <= (taskInfoList.size()-1) ){                String id = ((TaskInfo)taskInfoList.get(selectedIndex)).getTaskGroupID();                JOptionPane.showInputDialog(this,"您可以把它发布到Web页,使更多的人知道它。",                                            "组ID",JOptionPane.INFORMATION_MESSAGE,null,null, id);            }            else {JOptionPane.showMessageDialog(this,"请先选择一个任务!","警告",JOptionPane.WARNING_MESSAGE); return; }        }    }    private void doStop(int index){              if ( ((Boolean)taskRunStatus.get(index)).booleanValue() ){System.out.println("停止了任务" + index);            Boolean b = new Boolean(false);            TaskInfo ti = (TaskInfo)taskInfoList.get(index);            ((Task)taskList.get(index)).stopTask();                        taskRunStatus.add(ti.getTaskIndex(),b );         }    }    //index 是当前任务的索引号    //可以是TaskTable 的索引号,再次启动时    //可以是任务的索引号,由doPublish 或 doJoin 方法启动时    private void doStart(int index){        if ( !((Boolean)taskRunStatus.get(index)).booleanValue() ){            TaskInfo ti = (TaskInfo)taskInfoList.get(index);           ((Task)taskList.get(index)).startTask(ti);                        Boolean b = new Boolean(true);            taskRunStatus.add(ti.getTaskIndex(),b );        }    }    private void doOpen(){        int selectedIndex = TaskTable.getSelectedRow();        if ( selectedIndex == -1 ) {JOptionPane.showMessageDialog(this,"请先选择一个任务!","警告",JOptionPane.WARNING_MESSAGE); return; }                TaskInfo ti = ((TaskInfo)taskInfoList.get(selectedIndex));        String path;        if ( ((String)((Hashtable)ti.getTaskDictionary()).get("type")).equals("single") )            path = (new File(ti.getTaskFileName())).getParent();        else            path = ti.getTaskFileName();        try {Runtime.getRuntime().exec("explorer " + path);} catch (Exception e) {System.out.println("打开文件夹时出错!");}    }    private void doDelete(int index,boolean onlyDeleteTask){        File file;        //如果这个任务是活动的,先停止它        if ( !((Boolean)taskRunStatus.get(index)).booleanValue() )            this.doStop(index);                //被删除任务下面的任务索引号都减一。        for ( int i =index;i<taskInfoList.size();i++){            TaskInfo ti = (TaskInfo)taskInfoList.get(i);            int newIndex = ti.getTaskIndex() - 1;            ti.setTaskIndex(newIndex);        }                //隐藏JTable中最后一个任务信息。        dtm.removeRow(index);        //删除此任务的保存信息        TaskInfo ti = (TaskInfo)taskInfoList.get(index);        //删除任务文件        String groupID = ti.getTaskGroupID();                file = new File("taskobj/" + groupID);        if (file.delete()) System.out.println("删除了" + index + "任务文件");        else System.out.println("删除" + index + "任务文件时出错");        //删除元信息文件        String riverFileName = ti.getTaskRiverscentFileName();        file = new File(riverFileName);        if (file.delete()) System.out.println("删除了" + index + "任务元信息文件");        else System.out.println("删除 " + index + "任务元信息文件时出错");                //如果要删除任务及文件        if ( !onlyDeleteTask ) {            this.doDeleteAllFile(index);        }                taskRunStatus.remove(index);        taskInfoList.remove(index);        taskList.remove(index);        taskStatusTableModelList.remove(index);        taskStatusPanelList.remove(index);                for ( int i=0;i<taskInfoList.size();i++){            ((TaskInfo)taskInfoList.get(i)).taskUpdata();        }        System.out.println("删除操作完成!");

⌨️ 快捷键说明

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