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

📄 filedownload.java

📁 任意多台机器
💻 JAVA
字号:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;


public class FileDownload extends JFrame implements ActionListener
{

	private JButton downloadButton,nodownloadButton;//按钮
    JLabel  fromLabel;
    private JLabel filelable,tfromLabel,tfilelable,tmsgLabel;
    private JTextArea dmessageField;//拒绝理由输入区
    private JScrollPane scrolldMessage;
    private P2pSys p2pSys;
    //进度条
    private final JProgressBar progressBar;
   
    
    
    public FileDownload(String from,String file,P2pSys p2pSys)
    {
    	this.p2pSys=p2pSys; 
    	
    	//主框架
        setTitle("附件下载");
        getContentPane().setLayout(null);
        setSize(250,270);
        setLocation(500,260);
        setResizable(false);
        setForeground(Color.red);
        
        tfromLabel=new JLabel("来自  :");
        tfromLabel.setBounds(10 ,10 ,40,20);
        getContentPane().add(tfromLabel);
        
        tfilelable=new JLabel("文件  :");
        tfilelable.setBounds(10 ,30 ,40,20);
        getContentPane().add(tfilelable);
        
        tmsgLabel=new JLabel("回复  :");
        tmsgLabel.setBounds(10 ,50 ,90,20);
        getContentPane().add(tmsgLabel);
        
        fromLabel=new JLabel(from);
        fromLabel.setBounds(50 ,10 ,250,20);
        getContentPane().add(fromLabel);
        
        filelable=new JLabel(file);
        filelable.setBounds(50 ,30 ,250,20);
        getContentPane().add(filelable);
        
        dmessageField=new JTextArea("");
        dmessageField.setForeground(Color.darkGray);
        dmessageField.setEditable(true);
        scrolldMessage = new JScrollPane(dmessageField);
        scrolldMessage.setBounds(10 ,70 ,220,100);
        getContentPane().add(scrolldMessage) ;
        scrolldMessage.setVisible(false);
        
        downloadButton=new JButton("下载附件");
        downloadButton.setBounds(20 ,180 ,90,30);
        //downloadButton.setForeground(Color.red);
        downloadButton.addActionListener(this);
        getContentPane().add(downloadButton);
        //downloadButton.setEnabled(false);
        
        nodownloadButton=new JButton("拒绝下载");
        nodownloadButton.setBounds(130 ,180 ,90,30);
        //nodownloadButton.setForeground(Color.red);
        nodownloadButton.addActionListener(this);
        getContentPane().add(nodownloadButton);
        //downloadButton.setEnabled(false);
        
        //进度条
        
        progressBar = new JProgressBar();
        progressBar.setIndeterminate(true); 
        progressBar.setBounds(10 ,120 ,220,10);
        getContentPane().add(progressBar) ;
        progressBar.setVisible(true);
        
       
             
    }
      
    public void Listen()
    {
    	BufferedReader user; 
        int port; 
         
        user = new BufferedReader(new InputStreamReader(System.in)); 
        port = Integer.parseInt("8888"); 
        System.out.println("将接收文件于端口: " + port);
        
        try 
        {
       	 p2pSys.serverSkt = new ServerSocket(port);
		 } 
        catch (IOException e1) 
        {	
        	System.out.println(e1.toString());
		 } 
        
    }
    
	public void actionPerformed(ActionEvent e) 
	{
		 Object object=e.getSource() ;
		 if(object.equals(downloadButton))
         {
			 Listen();
             String ip = p2pSys.getLocalIp() ;
             String sAddress;
             
             sAddress = fromLabel.getText().toString().trim();                       
             //System.out.println(newMsg);
             
             //scrolldMessage.setVisible(false);
            // progressBar.setVisible(true);
       
             
             String string=p2pSys.xmlFormat.xmlForm("p2p","sure","",ip,"8888","")  ;       
             p2pSys.sender.sendP2p (string,sAddress);
             
             String msgstring=p2pSys.xmlFormat.xmlForm("p2p",dmessageField.getText().toString().trim(),"",ip,"8888",""); 
             p2pSys.sender.sendP2p (msgstring,sAddress);
             
             //boolean indeterminate = progressBar.isIndeterminate(); 
             //progressBar.setIndeterminate(!indeterminate);
             System.out.println(p2pSys.receivefileover);
             if(p2pSys.receivefileover == 1)
             {    
            	 this.hide();
             }
            // downloadButton.setEnabled(false);             
         }
		
	}
}
	
	
	

⌨️ 快捷键说明

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