package husacct.validate.presentation.tableModels;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import husacct.ServiceProvider;
import husacct.validate.domain.validation.Severity;
import javax.swing.JTable;
import javax.swing.table.TableColumn;
public class ViolationTable extends JTable {
private static final long serialVersionUID = -1359180631818542012L;
public ViolationTable() {
setColumnWidths();
setAutoCreateRowSorter(true);
addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {
if(arg0.getClickCount() >= 2){
int row = getSelectedRow();
String cls = getValueAt(row, 0).toString();
int lineNumber = (int) getValueAt(row, 5);
if (lineNumber == 0) {
lineNumber = 1;
}
ServiceProvider.getInstance().getControlService().displayErrorInFile(cls, lineNumber, new Severity("test", Color.ORANGE));
}
}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0) {}
});
}
public void setColumnWidths() {
TableColumn column = null;
for (int i = 0; i < getColumnCount(); i++) {
column = getColumnModel().getColumn(i);
if (i == 0) {
column.setPreferredWidth(290); // From
} else if (i == 1) {
column.setPreferredWidth(290); // To
} else if (i == 2) {
column.setPreferredWidth(150); // Rule
} else if (i == 3) {
column.setPreferredWidth(70); // DependencyKind
} else if (i == 4) {
column.setPreferredWidth(50); // Direct
} else if (i == 5) {
column.setPreferredWidth(50); // LineNumber
}
}
}
}