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

📄 sharepanel.java

📁 基于jxta的局域网P2P文件共享,可以实现局域网中的文件p2p共享,实现文件快速传输及交流
💻 JAVA
字号:
package connex.plugins.filesharing.ui;

import java.awt.*;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.io.File;
import connex.plugins.filesharing.model.ListRenderer;
import connex.plugins.filesharing.ShareFile;
import connex.plugins.filesharing.FilesharingService;




public class SharePanel extends JPanel {
    BorderLayout borderLayout1 = new BorderLayout();
    JPanel jPanel1 = new JPanel();
    JPanel jPanel2 = new JPanel();
    JPanel jPanel3 = new JPanel();
    JPanel jPanel4 = new JPanel();
    JScrollPane jScrollPane1 = new JScrollPane();
    BorderLayout borderLayout2 = new BorderLayout();
    private ImageIcon ico = new ImageIcon(FilesharingPanel.class.getResource("share3.png"));
    private DefaultListModel data = new DefaultListModel();

    private JList jList1 = new JList(data);

    private ListRenderer rend = new ListRenderer(ico);

    JPanel jPanel5 = new JPanel();
    JButton share = new JButton();
    JButton unshare = new JButton();
    JButton clear = new JButton();
    JButton discrition = new JButton();
    JFileChooser fc = new JFileChooser();
    ShareFile filec;
    boolean loaded = false;

    public SharePanel() {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {

        this.setLayout(borderLayout1);
        jPanel1.setLayout(borderLayout2);
        jPanel5.setPreferredSize(new Dimension(10, 40));
        share.setText("Add");
        share.addActionListener(new SharePanel_share_actionAdapter(this));
        unshare.setText("Delete");
        unshare.addActionListener(new SharePanel_unshare_actionAdapter(this));
        clear.setText("Clear");
        clear.addActionListener(new SharePanel_clear_actionAdapter(this));
        discrition.setText("Discription");
        this.add(jPanel1, java.awt.BorderLayout.CENTER);
        this.add(jPanel2, java.awt.BorderLayout.EAST);
        this.add(jPanel4, java.awt.BorderLayout.WEST);
        this.add(jPanel3, java.awt.BorderLayout.NORTH);
        jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
        jPanel1.add(jPanel5, java.awt.BorderLayout.SOUTH);
        jPanel5.add(share);
        jPanel5.add(unshare);
        jPanel5.add(clear);
        jPanel5.add(discrition);
        jList1.setBackground(Color.white);

        //jList1.setOpaque(false);
        jList1.setCellRenderer(rend);
        jList1.setSelectionBackground(Color.white); //new Color(221,234, 255));
        jList1.setSelectionForeground(Color.BLUE);
        jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        jScrollPane1.getViewport().add(jList1);
    }

    public void setLoaded(boolean b) {
        loaded = b;
    }

    public boolean isLoaded() {
        return loaded;
    }

    public DefaultListModel getList() {
        return data;
    }

    public void unshare_actionPerformed(ActionEvent e) {
        ShareFile file = (ShareFile) jList1.getSelectedValue();
        jList1.setSelectedIndex(jList1.getSelectedIndex() + 1);
        data.removeElement(file);
        FilesharingService.getInstance().unshareContent(file);

    }

    public void share_actionPerformed(ActionEvent e) {

        fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        int returnVal = fc.showOpenDialog(this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            filec = new ShareFile(fc.getSelectedFile().getPath());
            Icon icon = fc.getIcon(fc.getSelectedFile());
            filec.setIcon(icon);

            FilesharingService.getInstance().shareContent(filec);

        }

    }

    public void clear_actionPerformed(ActionEvent e) {

        FilesharingService.getInstance().unshareAll();
    }
}


class SharePanel_clear_actionAdapter implements ActionListener {
    private SharePanel adaptee;
    SharePanel_clear_actionAdapter(SharePanel adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.clear_actionPerformed(e);
    }
}


class SharePanel_share_actionAdapter implements ActionListener {
    private SharePanel adaptee;
    SharePanel_share_actionAdapter(SharePanel adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.share_actionPerformed(e);
    }
}


class SharePanel_unshare_actionAdapter implements ActionListener {
    private SharePanel adaptee;
    SharePanel_unshare_actionAdapter(SharePanel adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.unshare_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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