Bom, eu jah tentei de várias formas, mas não consegui, por isso estou pedindo algo meio de mão beijada…
Seguinte, eu quero substituir todos os itens de um JCombobox, por exemplo:
eu tenho nos itens isso:
M&&MASCULINO
F&&FEMININO
e quero que seja substituido por isso:
MASCULINO
FEMININO
e que o M e F vão para um vetor…
como eu faço isso?
String[] str = suaString.split("&&");
Vector v = new Vector();
v.add(str[0]);
seuCombo.addItem(str[1]);
Isso resolve.
Bem, eu fiz assim:
public class AdmComboBox extends JComboBox{
...
private Vector vetor = new Vector();
...
public void doSubstituiItens(){
int contItem = this.getItemCount();
String[] str = new String[contItem];
int i;
for ( i = 0; i < contItem; i++){
str[i] = (String)this.getItemAt(i);
this.remove(i);
}
for ( i = 0 ; i < contItem; i++){
String[] strSubs = str[i].split("&&");
vetor.add(strSubs[0]);
this.addItem(strSubs[1]);
}
}
esta dando o seguinte erro:
[quote]Exception in thread “AWT-EventQueue-0” java.lang.NoSuchMethodError: br.com.comps.AdmComboBox.doSubstituiItens()V
at FrmTestes.<init>(FrmTestes.java:23)
at FrmTestes$6.run(FrmTestes.java:363)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[/quote]
eu estou chamando o doSunbstituiItens() logo apos o initComponents(); assim:
public class FrmTestes extends javax.swing.JFrame {
/** Creates new form FrmTestes */
public FrmTestes() {
initComponents();
admComboBox1.doSubstituiItens();
}
O q q esta havendo?
Primeiramente… vc precisa pegar item a item que esta no seu JComboBox, feito isso ai sim tu precisa usar o Split, vai olhando no debug pra ver o q esta acontecendo. pq olhando assim fica dificil saber ond esta o erro.
Poisé fera, eu fiz o debug, mas o erro da antes q apareca o foco no metodo.
E eu peguei item por item:
...
for ( i = 0; i < contItem; i++){
str[i] = (String)this.getItemAt(i);
this.remove(i);
}
...
Consegui resolver…
bem, agora esta dando o seguinte erro:
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
neste trecho:
for ( i = 0; i < contItem; i++){
str[i] = (String)this.getItemAt(i);
}
ps.:eu coloquei 2 posoções em meu array str[].
ehehe…naum precisa mais…consegui…
:lol: