package org.arong.egdownloader.ui.table;
import java.awt.Color;
import java.awt.datatransfer.StringSelection;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JTable;
import org.arong.egdownloader.model.Picture;
import org.arong.egdownloader.model.Task;
import org.arong.egdownloader.ui.CursorManager;
import org.arong.egdownloader.ui.window.EgDownloaderWindow;
/**
* 任务详细面板图片表格类
* @author 阿荣
* @since 2014-06-05
*/
public class PictureTable extends JTable {
private static final long serialVersionUID = 8864835740722285837L;
private Task task;
public EgDownloaderWindow mainWindow;
public PictureTable(int x, int y, int width, int height, Task task, EgDownloaderWindow mainWindow){
this.setTask(task);
this.mainWindow = mainWindow;
this.setBounds(x, y, width, height);
this.setCursor(CursorManager.getPointerCursor());//光标变手型
this.getTableHeader().setReorderingAllowed(false);//不可移动列
this.setBackground(Color.WHITE);
this.setCellSelectionEnabled(false);//选择单元格
this.setModel(new PictureTableModel(task.getPictures()));
this.setDefaultRenderer(Object.class, new PictureTableCellRenderer());
this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
PictureTable table = (PictureTable)e.getSource();
int rowIndex = table.rowAtPoint(e.getPoint());
Picture pic = table.getTask().getPictures().get(rowIndex);
StringSelection ss = new StringSelection(pic.getUrl());
table.getToolkit().getSystemClipboard().setContents(ss, ss);
}
});
}
public boolean isCellEditable(int row, int column) {
return false;
}
public Task getTask() {
return task;
}
public void setTask(Task task) {
this.task = task;
}
}