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

📄 downloadpanel.java

📁 peeranha42是jxta的 p2p程序核心
💻 JAVA
字号:
package de.uni_bremen.informatik.p2p.plugins.filesharing.gui;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

import de.uni_bremen.informatik.p2p.plugins.filesharing.data.DownloadJobList;
import de.uni_bremen.informatik.p2p.plugins.filesharing.gui.event.DownloadEventListener;


/**
 * An object of the class represents the download-userinterface of the
 * filesharing plugin.
 *
 * @author Philipp Hoheisel, Cecile Prigge, Lars Kordes
 */
public class DownloadPanel
    extends JPanel {
    /** Table which presents a look on the list of all downloadjobs. */
    private JTable table;

    /**
     * Classconstructor.
     *
     * @param list List to hold files
     * @param actlist Buttoneventlistener of all buttons of the  filesharing
     *        gui.
     */
    public DownloadPanel(ArrayList list,
                         DownloadEventListener actlist) {
    	// set layout and doublebuffer for graphics
    	super(null, true);

        // setting layout
    	GridBagLayout gridbag = new GridBagLayout();
        GridBagConstraints c = new GridBagConstraints();
        setLayout(gridbag);

        JPanel panel = createInputPanel(actlist);
        c.fill = GridBagConstraints.BOTH;
        c.gridx = 0;
        c.gridy = 0;
        c.weightx = 0;
        c.weighty = 0;
        gridbag.setConstraints(panel, c);
        add(panel);

        // create new jtable with new downloadentrylist  
        table = new JTable(new DownloadJobList(list));
        // add default renderer for progressbars
        table.setDefaultRenderer(JProgressBar.class, new DefaultTableCellRenderer() {
        	public Component getTableCellRendererComponent(JTable arg0, Object arg1,
        			boolean arg2, boolean arg3, int arg4, int arg5) {
        		return (Component) arg1;
        	}
        });
        // create scrollpane with jtable
        JScrollPane scroll = new JScrollPane(table);
        c.gridx = 0;
        c.gridy = 1;
        c.weightx = 1;
        c.weighty = 1;
        gridbag.setConstraints(scroll, c);
        // add scrollpane to context
        add(scroll);
    }

    /**
     * Creates Panel for user input (e.g. buttons and textfields).
     * 
	 * @param actlist Actionlistener
	 * @return New panel
	 */
	private JPanel createInputPanel(DownloadEventListener actlist) {
		JPanel panel = new JPanel();
	
		/*
        // create download-start-button
        JButton startbutton = new JButton("Start");
        // tooltip
        //startbutton.setToolTipText("Press Button to start current download");
        startbutton.setToolTipText("Coming soon");
        // set size
        startbutton.setPreferredSize(new Dimension(100, 20));
        // add actionlistener
        startbutton.addActionListener(actlist);
        startbutton.setEnabled(false);
        panel.add(startbutton);

        // create download-stop-button
        JButton stopbutton = new JButton("Stop");
        // tooltip
        //stopbutton.setToolTipText("Press Button to stop current download");
        stopbutton.setToolTipText("Coming soon");
        // set size
        stopbutton.setPreferredSize(new Dimension(100, 20));
        // add actionlistener
        stopbutton.addActionListener(actlist);
        stopbutton.setEnabled(false);
        panel.add(stopbutton);
        */

        // create download-cancel-button
        JButton cancelbutton = new JButton(P42_resource_reader.getImageIcon("/stop.gif"));
        cancelbutton.setActionCommand("Cancel");
        // tooltip
        //cancelbutton.setToolTipText("Press Button to cancel current download");
        cancelbutton.setToolTipText("Press button to cancel download");
        // set size
        cancelbutton.setPreferredSize(new Dimension(32, 32));
        // add actionlistener
        cancelbutton.addActionListener(actlist);
        panel.add(cancelbutton);

        JButton clearbutton = new JButton(P42_resource_reader.getImageIcon("/remove.gif"));
        clearbutton.setActionCommand("Remove");
        // tooltip
        clearbutton.setToolTipText("Press button to remove downloadjob from list");
        // set size
        clearbutton.setPreferredSize(new Dimension(32, 32));
        // add actionlistener
        clearbutton.addActionListener(actlist);
        panel.add(clearbutton);

        JButton clearallbutton = new JButton(P42_resource_reader.getImageIcon("/clear.gif"));
        clearallbutton.setActionCommand("Clear");
        // tooltip
        clearallbutton.setToolTipText("Press button to clear all finished and canceled downloadjobs from list");
        // set size
        clearallbutton.setPreferredSize(new Dimension(32, 32));
        // add actionlistener
        clearallbutton.addActionListener(actlist);
        panel.add(clearallbutton); 
        
        return panel;
	}

	/**
     * Returns the table
     *
     * @return JTable
     */
    public JTable getTable() {
        return table;
    }
}

⌨️ 快捷键说明

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