?? downloadpanel.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;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -