Artigo Java Magazine 28 - Tira-Dúvidas
Artigo da Revista Java Magazine Edição 28.
Artigos Java Artigo Java Magazine 28 - Tira-Dúvidas
NetBeans e o pacote desaparecido
Tentei executar o exemplo do sistema completo da Edição 25, mas é apresentado um erro informando que um pacote não existe. Em exemplo de erro é o seguinte:
package org.openide.awt does not exist
org.openide.awt.Mnemonics.setLocalizedText(
jLabel2,"Prioridade:");
Os erros contecem com todos os components (Jlabel, Jbutton etc.) que possuem propriedades text. Estou utilizando a distribuição Linux SUSE 9.2, e o NetBeans 4.1 que foi instalado junto com o JDK. Seria algum erro de seleção de componentes ou na instalação do NetBeans, ou a falta de alguma biblioteca no classpath?
Este erro acontece com componentes cuja propriedade "Generate Mnemonics Code" (categoria Code) está com o valor true. Basta desmarcá-la conforme indicado na Figura 1 para resolver o problema.
O método indicado na mensagem de erro, setLocalizedText(), é uma extensão ao Swing fornecida pelo NetBeans para emular o comportamento do Windows. O Windows define mnemônics ("aceleradores de teclado") utilizando um sinal de "&" no texto do componente. Por exemplo, para vincular o atalho Atl+C ao botão de cancelar, a propriedade text do botão receberia o valor "&Cancela".
Para usar setLocalizedText(), alem de definir as propriedades do componente como mostrado, deve ser adicionado ao projeto a biblioteca openide.jar, presente na pasta plataform5/core da sua instalação do NetBeans. A Figura 2 ilustra como fazer isso. O jar também terá que ser adicionado ao classpath do sistema, párea que a aplicação possa ser executada fora do NetBeans.
Apenas recapitulando, a forma padrão do Swing do NetBeans de configurar mnemônicos é por meio da propriedade mnemonic do componente, como indicado no artigo da Edição 25.