Como que faço para adicionar uma linha em branco ou com valores Numa JTable :?:
Bom dia!!!
((DefaultTableModel)suaJTable.getModel()).addRow(/*Aqui vc passa os campos da linha*/);
O getModel() retorna um TableModel que não tem o método addRow, ai vc faz um cast para DefaultTableModel, onde esta tem o método addRow.
Blz???
Valeu JavaTeco
Más não conseguir entender muito, pois estou começando agora em Java, e não entender o que você quis me explicar, tem como dar uma explicação mais detalhada.
E o que é cast.
:?:
e aí chand, vou tentar te explicar como funciona a questao dos componentes visuais em java.
Cada componente tem associado um modelo de dados. É no modelo onde ficam armazenados os dados exibidos pelo componente. Ao invés de mexer diretamente no componente vc só precisa mexer no modelo associado a ele.
a seguir uma lista contendo alguns componentes e seus respectivos modelos:
JTable . TableModel . DefaultTableModel
JComboBox . ComboBoxModel . DefaultComboBoxModel
JList . ListModel . DefaultListModel
Os modelos são interfaces, ou seja, apenas assinaturas de métodos necessários às classes que implementarão, porém a sun fornece algumas implementações default para os modelos(DefaultTableModel, DefaultComboBoxModel, DefaultListModel, etc.).
Vou exemplificar com uma JTable:
JTable tabelaDados = new JTable();
DefaultTableModel mdlTabelaDados = new DefaultTableModel();
tabelaDados.setModel(mdlTabelaDados); // associa o modelo ao componente
// adicionando dados ao modelo
mdlTabelaDados.addColumn("Coluna 1"); // adiciona uma coluna ao modelo
mdlTabelaDados.addColumn("Coluna 2");
mdlTabelaDados.addRow(new Object[] {"dado.1.1", "dado.1.2"}); // adiciona uma linha ao modelo
mdlTabelaDados.addRow(new Object[] {"dado.2.1", "dado.2.2"});
mdlTabelaDados.addRow(new Object[] {"dado.3.1", "dado.3.2"});
dá uma olhada na API (http://java.sun.com/j2se/1.4.2/docs/api/) pra ver como as classes funcionam.
Um cast é uma conversão entre Tipos (primitivos/objetos). No exemplo acima o método addColumn recebe um Object como parametro, dessa forma vc pode passar qualquer objeto. Supondo que vc passe uma String(como eu fiz) e depois vc queira recuperar essa String, porém o modelo só permite que vc recupere um Object. Dessa forma vc terá que fazer um Cast do Object para uma String.
ex:
String s = (String) mdlTabelaDados.getColumn(); // o metodo getColumn não existe, foi usado apenas para exemplificar
Valeu seuparada agora entendir.
Muito obrigado.