boa tarde
tenho um problema generco acho que nao é preciso eu anexar nenhum Script
meu problema e o seguinte tenho uma classe generica com uma tabela que e carregada diretamente do banco de dados ou seja nao importa quantas colunas eu tenho pois ela me pucha todas as colunas e informacoes quando eu a abro.
eu nao quero que quando eu cliko nela ela abre a celula para edicao, pois nao sera possivel editar ali pois e so uma tela de busca. Alem de impedir que eu edite seus valores eu quero que a linha que tiver o curso posicionado mude de cor.
caso precise eu estarei inserindo a o fonte. para analise.
Dica importante: Não escreva o título do post em letras maiúsculas. Esta é uma das regras do Fórum e assim evita
problemas com os moderadores do Fórum.
Sobre o seu problema, creio que essas discussões já criadas aqui no GUJ poderia te ajudar:
Dica importante: Não escreva o título do post em letras maiúsculas. Esta é uma das regras do Fórum e assim evita
problemas com os moderadores do Fórum.
Sobre o seu problema, creio que essas discussões já criadas aqui no GUJ poderia te ajudar:
Ai brigado pelas dicas mas nao deu pois eu nao tenho um model. Veja so minha classe.
packageCamadaVisao;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.sql.ResultSetMetaData;importjava.sql.Statement;importjava.sql.Types;importjava.util.Vector;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTable;importjavax.swing.JTextField;importjavax.swing.border.BevelBorder;importjavax.swing.border.SoftBevelBorder;importjavax.swing.table.TableModel;importCamadaBD.ConexaoMySql;publicclassBuscaCadastroextendsJFrame{JTabletblBusca;JScrollPanescrol;JTextFieldtxfBusca;JPanelpnTela;JPanelpnScrol;JPanelpnBusca;intColuna;intLinha;publicBuscaCadastro()throwsException{setDefaultCloseOperation(DISPOSE_ON_CLOSE);setVisible(true);setLayout(null);setName("CADASTRO DE CLIENTE");setSize(810,810);ConexaoMySql.getConexaoMySql();{pnTela=newJPanel();getContentPane().add(pnTela);pnTela.setSize(800,800);pnTela.setLayout(null);pnTela.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null));}{pnBusca=newJPanel();pnTela.add(pnBusca);pnBusca.setBounds(5,5,800,50);pnBusca.setLayout(null);pnBusca.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null));}{txfBusca=newJTextField();pnBusca.add(txfBusca);txfBusca.setBounds(5,5,800,25);}{pnScrol=newJPanel();pnTela.add(pnScrol);pnScrol.setBounds(5,60,800,500);pnScrol.setLayout(null);pnScrol.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null));}geraTabela();}publicvoidgeraTabela(){try{Vector<String>cabecallo=newVector<String>();Vector<Vector>linhas=newVector<Vector>();ConexaoMySql.resultSet=((Statement)ConexaoMySql.statement).executeQuery("SELECT * FROM aluno");ConexaoMySql.resultSet.next();ResultSetMetaDataresulSetMetaData=ConexaoMySql.resultSet.getMetaData();for(intcont=1;cont<=resulSetMetaData.getColumnCount();++cont)cabecallo.addElement(resulSetMetaData.getColumnName(cont));do{Vector<Object>linhaAtual=newVector<Object>();for(intcont=1;cont<=resulSetMetaData.getColumnCount();cont++){switch(resulSetMetaData.getColumnType(cont)){caseTypes.INTEGER:linhaAtual.addElement(ConexaoMySql.resultSet.getString(cont));break;caseTypes.VARCHAR:linhaAtual.addElement(ConexaoMySql.resultSet.getString(cont));break;caseTypes.CHAR:linhaAtual.addElement(ConexaoMySql.resultSet.getString(cont));break;caseTypes.DOUBLE:linhaAtual.addElement(ConexaoMySql.resultSet.getString(cont));break;caseTypes.DATE:linhaAtual.addElement(ConexaoMySql.resultSet.getDate(cont));break;}}linhas.addElement(linhaAtual);}while(ConexaoMySql.resultSet.next());tblBusca=newJTable(linhas,cabecallo);scrol=newJScrollPane(tblBusca);scrol.setBounds(5,4,800,600);pnScrol.add(scrol);tblBusca.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){if(e.getClickCount()==1){Coluna=tblBusca.getSelectedColumn();Linha=tblBusca.getSelectedRow();txfBusca.setText((String)tblBusca.getModel().getValueAt(Linha,getX()));}}});}catch(Exceptione){JOptionPane.showMessageDialog(null,"ERRO AO INSERIR DADOS "+e.getMessage());}}}
ViniGodoy
É impossível ter um JTable sem ter um model. No mínimo você tem o (argh) DefaultTableModel.
Pelo que vi no seu nome de pacote, você está tentando fazer o padrão MVC. Entretanto, você está misturando a camada de acessos a dados (que contém informações do model) com a visão. E isso fere totalmente o padrão.
Eu recomendo que você aprenda a montar o seu TableModel, seguindo os links da minha assinatura. Não só o código vai ficar muito mais limpo e seguindo o MVC, como você já aprenderá a deixar a tabela não editável.
Sem falar que você deixa de usar esse monte de Vector, evita casts e tem bem menos trabalho.
ViniGodoy
Outra coisa. Se isso é um cadastro de alunos, você deveria ter uma classe chamada Aluno.
Dê uma olhada nesse tópico, que explica um pouco da organização geral das classes e do model: http://www.guj.com.br/posts/list/221984.java#1136413