forked from LupusNobilis/java-org.hwo.ui
53 lines
1.3 KiB
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);
|
|
|
|
}
|
|
|
|
}
|