📄 sendfiles.java
字号:
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-435)/2, (screenSize.height-318)/2, 435, 318); }// </editor-fold>//GEN-END:initComponentsprivate void guiSendActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guiSendActionPerformed// TODO add your handling code here: this.sendFiles();}//GEN-LAST:event_guiSendActionPerformedprivate void guiCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guiCancelActionPerformed// TODO add your handling code here: this.dispose();}//GEN-LAST:event_guiCancelActionPerformedprivate void guiAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guiAddActionPerformed File[] files; if((files=UtilityGui.chooseFile(this))!=null){ this.addFiles(files); }}//GEN-LAST:event_guiAddActionPerformedprivate void guiDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guiDelActionPerformed// TODO add your handling code here: this.delFiles();}//GEN-LAST:event_guiDelActionPerformedprivate void guiSelectALLItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_guiSelectALLItemStateChanged// TODO add your handling code here: if(this.guiSelectALL.isSelected()){ int len; if((len=this.guiAllFiles.getModel().getSize())>0){ int []indices =new int[len]; for(int i=0;i<len;i++) indices[i]=i; this.guiAllFiles.setSelectedIndices(indices); } }else this.guiAllFiles.clearSelection();}//GEN-LAST:event_guiSelectALLItemStateChangedprivate void guiAllFilesValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_guiAllFilesValueChanged// TODO add your handling code here: int selectLen=this.guiAllFiles.getSelectedIndices().length; if(selectLen>0)this.guiDel.setEnabled(true); else this.guiDel.setEnabled(false);}//GEN-LAST:event_guiAllFilesValueChangedprivate void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed// TODO add your handling code here: File[] files; if((files=UtilityGui.chooseFile(this))!=null){ this.addFiles(files); }}//GEN-LAST:event_jMenuItem1ActionPerformedprivate void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed// TODO add your handling code here: this.delFiles();}//GEN-LAST:event_jMenuItem2ActionPerformedprivate void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed// TODO add your handling code here: this.guiAllFiles.setModel(new DefaultListModel());}//GEN-LAST:event_jMenuItem3ActionPerformedprivate void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed// TODO add your handling code here: this.sendFiles();}//GEN-LAST:event_jMenuItem5ActionPerformedprivate void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed// TODO add your handling code here: this.dispose();}//GEN-LAST:event_jMenuItem4ActionPerformedprivate void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed// TODO add your handling code here: this.note=UtilityGui.getInputString(this,"输入您的说明", "添加说明信息", GlobalConstant.MSG_LEN);}//GEN-LAST:event_jButton1ActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton guiAdd; private javax.swing.JList guiAllFiles; private javax.swing.JButton guiCancel; private javax.swing.JButton guiDel; private javax.swing.JCheckBox guiSelectALL; private javax.swing.JButton guiSend; private javax.swing.JButton jButton1; private javax.swing.JMenu jMenu1; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JMenuItem jMenuItem2; private javax.swing.JMenuItem jMenuItem3; private javax.swing.JMenuItem jMenuItem4; private javax.swing.JMenuItem jMenuItem5; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JSeparator jSeparator1; // End of variables declaration//GEN-END:variables private void init(String desIp){ this.desIp=desIp; initComponents(); this.guiDel.setEnabled(false); this.setTitle("发送文件至"+GlobalVar.getUser(this.desIp).getName()+ " ( "+this.desIp+" ) "); MyTransferHandler handler = new MyTransferHandler(this.guiAllFiles); this.setTransferHandler(handler); this.guiAllFiles.setTransferHandler(handler); } private void addFiles(File[] files) { if (files == null) { return; } DefaultListModel listModel; if (this.guiAllFiles.getModel().getSize() == 0) { listModel = new DefaultListModel(); } else { listModel = (DefaultListModel) this.guiAllFiles.getModel(); } for (int i = files.length - 1; i >= 0; i--) { if (!listModel.contains(files[i].getPath())) { listModel.addElement(files[i].getPath()); } } this.guiAllFiles.setModel(listModel); this.guiDel.setEnabled(true); if (this.guiAllFiles.getModel().getSize() > 0) { this.guiAllFiles.setSelectedIndex(0); } } private void delFiles(){ int[] o = this.guiAllFiles.getSelectedIndices(); if (o.length == 0) { return; } DefaultListModel listModel = (DefaultListModel) this.guiAllFiles.getModel(); for (int i = o.length - 1; i >= 0; i--) { listModel.remove(o[i]); } this.guiAllFiles.setModel(listModel); if (this.guiAllFiles.getModel().getSize() == 0) { this.guiDel.setEnabled(false); } if (this.guiAllFiles.getModel().getSize() > 0) { this.guiAllFiles.setSelectedIndex(0); } } private void sendFiles(){ if(this.guiAllFiles.getModel().getSize()==0){ UtilityGui.showNotice(this, "请添加文件"); return; } Command com=new Command(GlobalConstant.IPMSG_SENDMSG| GlobalConstant.IPMSG_FILEATTACHOPT); FileLinkList flist=new FileLinkList(); flist.setIp(this.desIp); flist.setPacketNo(com.getPacketNo()); File file; DefaultListModel listModel=(DefaultListModel) this.guiAllFiles.getModel(); for(int i=0;i<listModel.getSize();){ file=new File(((String)listModel.get(i)).trim()); FileNode fnode=new FileNode(); if(file.isFile()){ fnode.setFileNo(i); fnode.setFileName(file.getPath()); fnode.setFileLen(file.length()); fnode.setFileKind(GlobalConstant.IPMSG_FILE_REGULAR); flist.getFiles().add(fnode); i++; } else if(file.isDirectory()){ fnode.setFileNo(i); fnode.setFileName(file.getPath()); fnode.setFileLen(file.length()); fnode.setFileKind(GlobalConstant.IPMSG_FILE_DIR); flist.getFiles().add(fnode); i++; } } if(this.note==null)this.note=""; com.setIp(this.desIp); com.setAdditional(this.note+"\0" + flist.exportPacket()); UtilityNet.sendUdpPacket(com); GlobalVar.addFileList(flist); this.dispose(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -