package husacct.define.presentation.tables;
import husacct.control.ILocaleChangeListener;
import husacct.define.domain.services.WarningMessageService;
import husacct.define.domain.warningmessages.WarningMessage;
import java.util.ArrayList;
import java.util.Locale;
import java.util.Observable;
import java.util.Observer;
import javax.swing.table.TableColumn;
public class JTableWarningTable extends AbstractJTable implements
ILocaleChangeListener, Observer {
/**
*
*/
private static final long serialVersionUID = 406911091374481179L;
private ArrayList<WarningMessage> warnings;
public JTableWarningTable() {
super();
warnings = WarningMessageService.getInstance().getWarningMessages();
}
public void changeColumnHeaders() {
getTableHeader().getColumnModel().getColumn(0)
.setHeaderValue("Description");
getTableHeader().getColumnModel().getColumn(1)
.setHeaderValue("Resource");
getTableHeader().getColumnModel().getColumn(2)
.setHeaderValue("Location");
getTableHeader().getColumnModel().getColumn(3).setHeaderValue("Type");
}
@Override
public int getColumnCount() {
return 4;
}
@Override
public int getRowCount() {
return warnings.size();
}
public int getRuleTypeColumnIndex() {
return 0;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
WarningMessage message = warnings.get(rowIndex);
switch (columnIndex) {
case 0:
return message.getDescription();
case 1:
return message.getResource();
case 2:
return message.getLocation();
case 3:
return message.getType();
}
return "defualt";
}
@Override
protected void setColumnHeaders() {
tablemodel.addColumn("Description");
tablemodel.addColumn("Resource");
tablemodel.addColumn("Location");
tablemodel.addColumn("Type");
}
@Override
protected void setColumnWidths() {
TableColumn column = null;
for (int i = 0; i < getColumnCount(); i++) {
column = getColumnModel().getColumn(i);
if (i == 0) {
column.setPreferredWidth(400);
} else if (i == 1) {
column.setPreferredWidth(400);
} else if (i == 2) {
column.setPreferredWidth(400);
}
}
}
@Override
protected void setDefaultTableSettings() {
}
@Override
public void update(Locale newLocale) {
changeColumnHeaders();
}
@Override
public void update(Observable o, Object arg) {
revalidate();
}
}