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 dá 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));
}
}