Ola pessoal, estou aqui mais uma vez para pedir encarissidamente a ajuda de vcs. Estou enfrentando sérios problemas nesta droga de metódo, que não da certo de forma nehuma. O erro principal java.lang.NullPointerException, pois, naum consigo pegar o que vem da frame. O erro acontece justamente naquela linha comentada.
// o problema esta neste metódo.publicvoidescreverXMLpage4(){StringBanco=txtBanco.getText();StringDriver=comboDriver.getText();// naum pega o que foi digitado aqui. StringURL=comboURL.getText();StringUsuario=txtUser.getText();StringSenha=txtSenha.getText();StringSchema=txtSchema.getText();StringCache=txtCache.getText();StringRead=comboRead.getText();writer.write("<Connection name="+'"'+Banco+'"'+" jdbcDriver="+Driver+'"'+'"'+"\n ");writer.write("jdbcUrl="+'"'+URL+'"'+" jdbcUser="+'"'+Usuario+'"'+"\n");writer.write("jdbcPassword="+'"'+Senha+'"'+" schemaName="+Schema+'"'+" "+'"'+" readOnly="+'"'+Read+'"'+" cacheSize="+'"'+Cache+'"'+"/>\n\n");writer.write("<Parameters>\n");writer.write("<Item name="+'"'+"data_ini"+'"'+">01/01/1901</Item>\n");writer.write("</Parameters>");writer.write("</Configuration>");writer.close();}}
se o “comboDriver” for um comboBox ele não vem com método getText,
tente usar um “getItem”
valeu!
R
raphaelFree
Desculpa, esqueci de informar o que eu tenho é uma combo em SWT e ela esta definida assim; por isso eu usei o getText();
o getItem, naum da certo.
//combo driverfinalCombocomboDriver=newCombo(controls,SWT.DROP_DOWN|SWT.BORDER);comboDriver.setToolTipText("Selecione o Driver do Banco de Dados");comboDriver.add("com.progress.sql.jdbc.JdbcProgressDriver");//progresscomboDriver.add("net.sourceforge.jtds.jdbc.Driver");//sql servercomboDriver.add("com.mysql.jdbc.Driver");// my sqlcomboDriver.add("org.firebirdsql.jdbc.FBDriver");//firebirdcomboDriver.add("com.ibm.db2.jcc.DB2Driver");//db2
M
miguel.satriani
Bah, dai não vo consegui te ajuda muito… trabalhei só com swing até o momento…
R
raphaelFree
vlw pela intenção, espero ki tenha alguem ki conheça SWT
R
raphaelFree
i o erro continua a me perseguir… :shock:
thegoergen
a combo em SWT não tem algum getSelectedText ou algo assim, para pegar o selecionado??
sei lá tambem, só conheço Swing…
R
raphaelFree
Aqui estão todos os principais métodos disponiveis para a combo. Agora o f… é saber como usar, tentei o getText, por que ja tinha usado em outras ocasiões e tinha dado certo. No entanto agora da ‘java.lang.NullPointerException’, isso quer dizer que ele naum tah pegando o que vem da frame, certo ? :?
Agora eu não sei o que ele retorna, mas pelo que parece retora o item que está no índice selecionado…
FabricioPJ
Tente substituir isso:
StringDriver=comboDriver.getText();
por isso:
ObjectDriver=comboDriver.getText();
Comigo aconteceu um problema parecido, foi só mudar o tipo da variável que o erro sumiu e o programa funcionou.
Não sei se vai ser o seu caso.
R
raphaelFree
Pior que não deu… o erro é o mesmo!!! Isso ja tah me dando dor de cabeça…
thegoergen
E tem algo selecionado?
Você usa NetBeans? debugue e veja todas as informações que tem no comboDriver. Achei que o getSelectedindex ia funcionar…
R
raphaelFree
Uso o eclipse, e pelo debuguer do eclipse qdo chego nesta variavel ele naum inicia, fica nulla. O mais curioso que os campos txt’s funcionam corretamente, é so a combo que nau m funciona. Será que existe uma forma de usar O getSelectedindex para pegar o indice, e setar o campo txt correspondente ao indice? … desculpe se eu falei besteira, mas é que eu naum sei mais o que fazer.
thegoergen
mas e você não consegue nem pegar qual a posição (index) selecionado?
POrque deve ter um jeito de você conseguir todas as opções da combo, e daí quando você conseguir o índice, e só pegar essa posição da lista.(estou chutando, não conheço SWT…)
R
raphaelFree
SWT é a primeira vez que uso tbm, naum tem muita diferença pra swing, a lógica é quase a mesma, muda alguma coisa apenas em alguns métodos. Eu vou tentar colocar os itens da combo dentro de um array de Strings e tentar pegar o indice, axo ki da, o problema é como posso fazer pra pegar o texto do indice 1 p.ex? se eu setar fixo é facil, mas tenho varios indices na combo.
thegoergen
Dá uma olhada aqui: http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Combo.html
Talvez te ajude
R
raphaelFree
Entaum, consigo pegar o indice e o texto também, porém dentro do metodo correspondente a combo. Porém ainda naum to conseguindo axar uma forma de pegar esse texto da combo e jogar dentro do meu metódo que gera classes, ou seja dentro do metodo gerarArquivoXMLPage4();
Consegui desta forma pegar o texto e o indice:
Vou continuar na luta aqui, qualquer coisa de nova eu posto novamente , e contudo, continuo aceitando sugestões para esse problema.
//criando a combofinalCombocomboURL=newCombo(controls,SWT.DROP_DOWN|SWT.BORDER);// adicionado elementos em um array de stringsString[]itemsUrl={"jdbc:jtds:sqlserver://LOCALHOST/bi_teste","jdbc:mysql://LOCALHOST/bi_teste"};comboURL.setItems(itemsUrl);// metódo listener da combocomboURL.addSelectionListener(newSelectionAdapter(){publicvoidwidgetSelected(SelectionEvente){if(comboURL.getSelectionIndex()==0||comboURL.getSelectionIndex()==1){System.out.println("Url: "+comboURL.getText());// peguei o texto}}});
A
amudi
raphaelFree:
SWT é a primeira vez que uso tbm, naum tem muita diferença pra swing, a lógica é quase a mesma, muda alguma coisa apenas em alguns métodos. Eu vou tentar colocar os itens da combo dentro de um array de Strings e tentar pegar o indice, axo ki da, o problema é como posso fazer pra pegar o texto do indice 1 p.ex? se eu setar fixo é facil, mas tenho varios indices na combo.