
Após instalar os componentes do swingx fiz alguns testes, e fiquei quebrando a cabeça na utilização do jxTaskpane e jxTable.
São componentes visuais muito legais e que já facilitam um pouco a vida do programador.
Criei uma classe modeloTabUsuario que extendia AbstractTableModel, o problema que mais demorei pra resolver foi uma falha de digitação no método que sobrescrevia getColumnName, pois os nomes das colunas da minha jxtable ficava com as letras do alfabeto. Segue a classe de teste criada por mim:
public class modeloTabUsuario extends AbstractTableModel{
private ArrayList datalist = new ArrayList();
private String[] columns = {"
public modeloTabUsuario(Collection l){
datalist.addAll(l);
}
public modeloTabUsuario(){
}
public void addUsuarios(Usuarios usu){
datalist.add(usu);
fireTableDataChanged();
}
public void addListUsuarios(Collection
datalist.addAll(list);
fireTableDataChanged();
}
public Usuarios getUsuario(int rows){
if (getRowCount() >= rows ){
return (Usuarios) datalist.get(rows);
}else return null;
}
@Override
public String getColumnName(int col){
return columns[col];
}
public String[] getColumns(){
return columns;
}
@Override
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public int getRowCount() {
return datalist.size();
}
public int getColumnCount() {
return columns.length;
}
public Object getValueAt(int rowIndex, int columnIndex) {
Usuarios usu = getUsuario(rowIndex);
switch (columnIndex) {
case 0:
return usu.getNome();
case 1:
return usu.getLogin();
case 2:
int tp = usu.getTipo();
if(tp == 0){
return new String("Restrito");
}
if(tp == 1){
return new String("
}
if(tp == 2){
return new String("Supervisor");
}
if(tp == 3){
return new String("Empresa");
}
default:
return null;
}
}
}
Nos testes ate agora tudo certo com o swingx, acredito que irei utilizar o mesmo nas minhas aplicações futuras.
2 comentários:
Olá. Tem como você disponibilizar o código do exemplo todo? Seria muito bom para o aprendizado de todos.
Pois é cara, na realidade eu retiro os códigos de sistemas feitos por mim q possuem muitas outras coisas junto, como multilingue e logs, por isso fica ruim de eu passar uma aplicação completa.
Postar um comentário