Oi!
gostaria de saber se tem como eu colocar um combobox dentro de uma tabela utilizando o modelo da tabela q eu criei.
se tiver… como eu faço??
pesquisa no forum e na internet só encontrei adcionando em modelos default.
valeu pela atenção!
[]'s
Oi!
gostaria de saber se tem como eu colocar um combobox dentro de uma tabela utilizando o modelo da tabela q eu criei.
se tiver… como eu faço??
pesquisa no forum e na internet só encontrei adcionando em modelos default.
valeu pela atenção!
[]'s
Agora vem o segundo problema, como criar esse renderer e esse editor? Aqui está a solução:
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());
}
// Select the current value
setSelectedItem(value);
return this;
}
}
public class MyComboBoxEditor extends DefaultCellEditor {
public MyComboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
a parte do renderer eu tinha pego aqui no forum
mas a parte do getColumnClass eu não vi.
uma pergunta besta… mas eu não sei =/
como eu faço o retorno de um List.class?
tem algum exemplo?
valeu pela atenção Vini!
@Override
public Class<?> getColumnClass(int row, int column) {
if (column == COLUNA_DA_COMBO) {
return List.class;
}
}
eu fiz assim
public Class<?> getColumnClass(int row, int column)
{
if (column == COL_TIPO) {
return List.class;
}
else
return null;
}
class MyComboBoxEditor extends DefaultCellEditor {
public MyComboBoxEditor(List items) {
super(new JComboBox(items.toArray()));
}
class ComboBoxRenderer extends JComboBox implements TableCellRenderer {
public ComboBoxRenderer(List items){
super(items.toArray());
}
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;
}
}
}
eu coloquei um construtor como List… porque os dados vem de uma consulta.
o que falta agora =/ ?
e agora eu to pensando… como eu vo fazer pra jah vim o combobox com o valor certo que o registro tem?
complicado isso =/
valeu Vini =D