Duvida com jtable

0 respostas
rbis2004
Olá pessoal, será que alguem poderia me ajudar com mais esta duvida?

Tenho um jtable que possui um combobox na primeira coluna.  Gostaria de preencher as demais colunas de acordo com o item que seleciono da combobox, por exemplo, se seleciono um produto ele me  o preço na coluna dois.

Código exemplo:

JTable table = new JTable();

DefaultTableModel model = (DefaultTableModel)table.getModel();

// Adiciona algumas colunas

model.addColumn(A, new Object[]{item1});

model.addColumn(B, new Object[]{item2});

// Este são os valores do combobox

String[] values = new String[]{item1, item2, item3};

// Configura o combobox na primeira coluna visível

int vColIndex = 0;

TableColumn col = table.getColumnModel().getColumn(vColIndex);

col.setCellEditor(new MyComboBoxEditor(values));

col.setCellRenderer(new MyComboBoxRenderer(values));

public class MyComboBoxRenderer extends JComboBox implements

TableCellRenderer {

public MyComboBoxRenderer(String[] items) {

super(items);

}

public Component getTableCellRendererComponent(JTable table,

Object value, boolean isSelected, boolean hasFocus, int row,

int column) {

if (isSelected) {

setForeground(table.getSelectionForeground());

super.setBackground(table.getSelectionBackground());

} else {

setForeground(table.getForeground());

setBackground(table.getBackground());

}

setSelectedItem(value);

return this;

}

}

public class MyComboBoxEditor extends DefaultCellEditor {

public MyComboBoxEditor(String[] items) {

super(new JComboBox(items));

}

}
Criado 5 de fevereiro de 2007
Respostas 0
Participantes 1