Nomes das Colunas não aparecem! [resolvido]

6 respostas
paulinhohd

Glaera, olha eu aqui denovo!

Observem o código:
ArrayList dados = new ArrayList();
	String[] colunas = new String[] {"NumItem","CodItem","ValItem"};
	boolean [] edicao = {true,true,true};
	ProdutosTableModel modelo = new ProdutosTableModel(dados, colunas, edicao);
	JTable JTProdutos = new JTable(modelo);

Eu declaro isso como global em meu programa.

Aqui está a Classe ProdutosTableModel: Vejam:

public class ProdutosTableModel extends AbstractTableModel{

	    private ArrayList linhas = null;
	    public String [] colunas = null;
	    public String[] getColunas() {return colunas;}
	    public ArrayList getLinhas() {return linhas;}
	    public void setColunas(String[] strings) {colunas = strings;}
	    public void setLinhas(ArrayList list) {linhas = list;}
		
	public int getColumnCount() {return getColunas().length;}
	
	public int getRowCount() {return getLinhas().size();}
	
	public String[] getValor(int rowIndex) {
        String [] linha = (String [])getLinhas().get(rowIndex);
        return linha;
	}
	
	public Object getValueAt(int rowIndex, int columnIndex) {
	    String [] linha = (String [])getLinhas().get(rowIndex);
	    return linha[columnIndex];
	}
	
	public ProdutosTableModel(ArrayList dados, String[] colunas, boolean [] edicao){
	    setLinhas(dados);
	    setColunas(colunas);
	    colsEdicao = edicao;
	}
	
	private boolean [] colsEdicao;
	
	public boolean isCellEditable(int row, int col){
	    return colsEdicao[col];
	}
		
	public void setValueAt(Object value, int row, int col){
	    String [] linha = (String [])getLinhas().get(row);
	    linha[col] = (String)value;
	    fireTableCellUpdated(row,col);
	}
		public void addRow( String [] dadosLinha){
			JTProdutos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
			getLinhas().add(dadosLinha);
			int linha = getLinhas().size()-1;
			fireTableRowsInserted(linha,linha);
			return;
		}
		
	public void removeRow(int row){
	    getLinhas().remove(row);
	    fireTableRowsDeleted(row,row);
	}
}
O Problema, é que os nomes das colunas que declarei lá em cima, como globais:
String[] colunas = new String[] {"NumItem","CodItem","ValItem"};

Não aparecem por nada, creio que por Default ele está jogando A,B,C...alguém sabe me dizer o porque disso?

Desde já, valeu! 8)

6 Respostas

T

Parece que no Tutorial do Swing ele seta os nomes das colunas de um outro modo:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

Ele faz um override de getColumnName.

private String[] columnNames = ...//same as before...
...
    public String getColumnName(int col) {
        return columnNames[col];
    }
paulinhohd

Utilizei o código, chamei o método e deu certo.
Valeu! 8)

T

Legal.

Gostei do seu “Glaera”, achei uma página em islandês com “glaera”:

http://www.xdkop.is/glaera.asp

Acho que não era disso que você estava falando…

paulinhohd

thingol:
Legal.

Gostei do seu “Glaera”, achei uma página em islandês com “glaera”:

hahah é que quando se sabe muitas linguas e a pressa de digitar é muita, daí fica complicado hauhauah…

Valeu! 8)

NoodleZ

thingol:
Legal.

Gostei do seu “Glaera”, achei uma página em islandês com “glaera”:

http://www.xdkop.is/glaera.asp

Acho que não era disso que você estava falando…

Esse tem um monte de coisa pra faze memo hein auhaiuha :lol: :lol: :lol:

paulinhohd

Isso que eu pensei tb… :lol:

Fazer o que né… :wink: o que valeu foi a ajuda rs… 8)

Criado 6 de maio de 2005
Ultima resposta 6 de mai. de 2005
Respostas 6
Participantes 3