java-org.hwo.ui/src/org/hwo/ui/JMappedTable.java

53 lines
1.3 KiB
Java

package org.hwo.ui;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import javax.swing.JTable;
import org.hwo.models.TableMapper.TableMapper;
import org.hwo.models.TableMapper.TableMapperListener;
public class JMappedTable extends JTable {
private TableMapper tableMapper;
public JMappedTable(Class<?> clazz){
this.tableMapper = new TableMapper(clazz, this);
}
public TableMapper getTableMapper() {
return tableMapper;
}
public void addTableMapperListener(TableMapperListener tableMapperListener){
this.tableMapper.addTableMapperListener(tableMapperListener);
}
public void removeTableMapperListener(TableMapperListener tableMapperListener){
this.tableMapper.removeTableMapperListener(tableMapperListener);
}
public void setEditorEnabled(boolean enabled){
tableMapper.setEditorEnabled(enabled);
}
public boolean isEditorEnabled(){
return tableMapper.isEditorEnabled();
}
public void copyAllToClipboard(){
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
StringBuilder sb = new StringBuilder();
for (Object row: getTableMapper().getRows()){
sb.append(row.toString());
sb.append("\n\r");
}
StringSelection ssel = new StringSelection(sb.toString());
clip.setContents(ssel, null);
}
}