Limitar coluna do TableModel!

2 respostas
paulinhohd

Ae galera,

Tenho algumas dúvidas básicas:

1- Qual comando utilizo para definir o tamanho da coluna de minha JTable?
2- E como bloquear para o usuário não poder arrastar para aumentar o seu tamanho?

Outra duvida básica:

Faço um SELECT em meu banco e jogo o resultado para exibir em minha JTable, gostaria de saber como limpar este resultado, pois está função está atribuída a um botão, e se eu cliclar em outro e clicar nele novamente ele duplica, ou seja, realiza a consulta novamente, por isso gostaria de dar um CLEAR antes,alguma forma de limpar o que tinha antes.

Valeu! 8)

2 Respostas

_fs

leia a api… leia a api… leia a api
http://javaalmanac.com/egs/javax.swing.table/pkg.html#Columns

paulinhohd

Ajudou LIPE,

Mas veja um segundo problema:

Este é o código de meu Model:
class SimplesTableModel extends AbstractTableModel{
	private ArrayList ALTLinhas = null;
	public String[] getColunas() {return STGColuna;}
	public ArrayList getLinhas() {return ALTLinhas;}
	public void setColunas(String[] strings) {STGColuna = strings;}
	public void setLinhas(ArrayList list) {ALTLinhas = list;}
				
	public int getColumnCount() {return getColunas().length;}
			
	public int getRowCount() {return getLinhas().size();}
		
	public String[] getValor(int rowIndex) {
		String [] STGLinhas = (String [])getLinhas().get(rowIndex);
	    return STGLinhas;
		}
		
	public String[] columnNames = new String[] {};
	public String getColumnName(int col) {
	      return columnNames[col].toString();
	    }
	
	public Object getValueAt(int rowIndex, int columnIndex) {
	    String [] STGLinhas = (String [])getLinhas().get(rowIndex);
	    return STGLinhas[columnIndex];
		}
	
	public SimplesTableModel(ArrayList ALTDados1, String[] STGColuna, boolean [] BOOEdicao){
	    setLinhas(ALTDados1);
	    setColunas(STGColuna);
	    colsEdicao = BOOEdicao;
		}
	
	private boolean [] colsEdicao;
		
	public boolean isCellEditable(int INTRow001, int INTCol001){
	    return colsEdicao[INTCol001];
		}
			
	public void setValueAt(Object OBJValues, int INTRow001, int INTCol001){
	    String [] STGLinhas = (String [])getLinhas().get(INTRow001);
	    STGLinhas[INTCol001] = (String)OBJValues;
	    fireTableCellUpdated(INTRow001,INTCol001);
		}
	
	public void addRow( String [] STGDadoLi){
			JTBProdut.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
			getLinhas().add(STGDadoLi);
			int INTLinhas = getLinhas().size()-1;
			fireTableRowsInserted(INTLinhas,INTLinhas);
			INTContLi++;
			return;
			}
			
	public void removeRow(int row){
	    getLinhas().remove(row);
	    fireTableRowsDeleted(row,row);
	    INTContLi--;
		}
}
Aqui é eu declaro como global minhas JTABLE em meu applet:
ArrayList ALTDados1 = new ArrayList();
	String[] STGColuna = new String[] {"NumItem","CodItem","ValItem"};
	boolean [] BOOEdicao = {true,true,true};
	SimplesTableModel STMProdut = new SimplesTableModel(ALTDados1, STGColuna, BOOEdicao);
	JTable JTBProdut = new JTable(STMProdut);
	int INTContLi = 1, INTNumLin = 0;
	
	ArrayList ALTDados2 = new ArrayList();
	public String[] STGColuna2 = new String[] {"Código","Razão Social","Nome Fantasia"};
	boolean [] BOOEdicao2 = {true,true,true};
	public String[] columnNames = STGColuna2;
	SimplesTableModel STMCliente = new SimplesTableModel(ALTDados2, STGColuna2, BOOEdicao2);
	JTable JTBCliente = new JTable(STMCliente);
	int INTContLi2 = 1, INTNumLin2 = 0;

O problema é que não consigo fazer com que apareca cada hora o nome correto das colunas......

Alguma sugestão?To fazendo vários testes aqui.........mas tá complicado...

Valeu! 8)

Criado 6 de junho de 2005
Ultima resposta 6 de jun. de 2005
Respostas 2
Participantes 2