Atribuir a cada jcombobox(celula) dakela coluna valores diferentes?
10 respostas
DANM
normalmente …vc consegue inserir um componente seja ele, jcheckbox,jcombobox…etc… porem issw é feito em uma coluna especifica…onde todas as colunas com um jcombobox por exemplo recebem os mesmos valores…
o problema ehh…como eu conseguiria…atribuir a cada jcombobox(celula) dakela coluna valores diferentes?
Uh, eu não entendi a pergunta.Vc quer dizer, colocar os valores em cada célula “On the fly”(dinamicamente) ou tipo mexe em uma combo numa célula, e atualiza a combo enm outra???Explica melhor!
C
Carnevalli
Pelo o que eu entendi, cada ComboBox vai receber um valor diferente, dinamicamente ou também ser atualizado em função dos valores de outra coluna da tabela. No final, acho que é quase a mesma idéia.
Por exemplo:
TableColumn coluna = jTable1.getColumnModel().getColumn( 0 );
String numeros = { "1", "2", "3" };
JComboBox número = new JComboBox( numeros );
coluna.setCellEditor( new DefaultCellEditor( numero ) );
Isso deixa toda a coluna 0 da minha JTable com comboboxes de valores 1, 2, 3.
Mas, por exemplo, se na linha 3 da coluna 0 eu quiser um ComboBox com os valores 8, 9, 10 ?
Numa mesma coluna teria comboboxes de conjuntos de valores diferentes…
Bom, não sei se ficou mais claro…
Grato a quem colaborar…
DANM
explikando melhor o problema…
Seria basicamenteo seguinte…nos teriamos uma coluna…certo…onde toda essa coluna teria um jcombobox…
Porem todos essas celuas da coluna possui um jcombobox…com os mesmos valores definidos…
Entao gostaria q cada jcombobox localizado em cada celula…dessa coluna…escolhida…apresenta-se um conjunto de valores diferentes?
C
Carnevalli
Bom, pelo tanto que já pesquisei e tentei, das mais diversas formas, acredito que fazer isso não seja tarefa das mais fáceis =)
Em todo caso, quem puder dar uma ajuda aí nessa questão, será muito útil!
Ironlynx
Deve ser a idade, não liga não, o tio Iron tá ficando meio burro, mas até agora eu não consegui vizualizar 100% o que vcs querem. :lol:
O que eu tô entendendo, é tipo, mudar um valor numa célula, alterar o valor em outra é isso?Tipo mexer numa combo e alterar a segunda???Exemplo:
importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.text.*;importjava.util.*;publicclassComboBoxTwoextendsJFrameimplementsActionListener{privateJComboBoxmainComboBox;privateJComboBoxsubComboBox;privateHashtablesubItems=newHashtable();publicComboBoxTwo(){String[]items={"Select Item","Color","Shape","Fruit"};mainComboBox=newJComboBox(items);mainComboBox.addActionListener(this);// In JDK1.4 this prevents action events from being fired when the// up/down arrow keys are used on the dropdown menumainComboBox.putClientProperty("JComboBox.isTableCellEditor",Boolean.TRUE);getContentPane().add(mainComboBox,BorderLayout.WEST);// Create sub combo box with multiple modelssubComboBox=newJComboBox();subComboBox.setPrototypeDisplayValue("XXXXXXXXXXXX");// JDK1.4getContentPane().add(subComboBox,BorderLayout.EAST);String[]subItems1={"Select Color","Red","Blue","Green"};subItems.put(items[1],subItems1);String[]subItems2={"Select Shape","Circle","Square","Triangle"};subItems.put(items[2],subItems2);String[]subItems3={"Select Fruit","Apple","Orange","Banana"};subItems.put(items[3],subItems3);}publicvoidactionPerformed(ActionEvente){Stringitem=(String)mainComboBox.getSelectedItem();Objecto=subItems.get(item);if(o==null){subComboBox.setModel(newDefaultComboBoxModel());}else{subComboBox.setModel(newDefaultComboBoxModel((String[])o));}// make sure popup is closed when 'isTableCellEditor' is usedmainComboBox.hidePopup();}publicstaticvoidmain(String[]args){JFrameframe=newComboBoxTwo();frame.setDefaultCloseOperation(EXIT_ON_CLOSE);frame.pack();frame.setLocationRelativeTo(null);frame.setVisible(true);}}
C
Carnevalli
Quaaaaase lá, tio Iron :lol:
É exatamente isso o que queremos fazer, só que dentro de uma linha de uma JTable =)
Por exemplo, ao alterar o valor de uma ComboBox na coluna A, linha 2, outra combobox, na coluna B, também na linha 2, teria seu valor alterado.
Mas somente a combo na coluna B, linha 2, não todas as combos da coluna B
Obrigado pelo interesse em ajudar!
DANM
Como Carnevalli disse tio Iron…nao seria exatamente isso q estas nos atordoando…rksskrr
mais de kalker forma…obrigado pelo empenho em tentar nos ajudar
agradecido…
Agora essa dika aki pra Carnevalli…
Um brother aew do guj…mim indicou esse site
eu dei uma olhada assim de leve…tem muitos exemplo interessantes…lah…
talvex ateh tenha a solucao de nosso problema…
ew ia ateh ver lah…mais tow no meio de um projeto meio grandin…e o tempo esta fikando curto
aew tow vendo outras coisas relacionadas ao projeto…q no momento sao mais importantes…
mais fika o site aew…pra vc dar uma olhada…kalker koisa vc fika se comunicando por aki
valewxxx galera
falow carnevalli
C
Carnevalli
Valeu DANM, pela dica!
Muito bom esse link, tem o problema resolvido, de fato.
Grato!
Ironlynx
Legal que vcs mataram o problema!
Depois seria interessante por um snippet de como vcs fizeram.
Eu já ia por esse exemplo http://exampledepot.com/egs/javax.swing.table/ComboBox.html e dizer para vcs “amarrarem” a combobox uma na outra e depois vincularem nas suas células.Aí era só adaptar o que eu pus acima.(Por exemplo por uma combo principal, e deixar uma subcombo oculta para uma vez que for clicada a principal ser ativada ela-puderia ficar numa Hashtable da vida)