Bom dia galera,
Estava fazendo um exemplo simples com o genesis de habilitar e desabilitar botões. Está rodando beleza, porém está aparecendo em tempo de execução alguns warnings.
Veja o código abaixo:
//----------------------------
// FORM
//----------------------------
package testeg;
import net.java.dev.genesis.annotation.Form;
import net.java.dev.genesis.annotation.Action;
import net.java.dev.genesis.annotation.EnabledWhen;
@Form
public class TesteViewFormBotao {
private boolean novoMode;
private boolean incluirMode;
private boolean excluirMode;
private boolean cancelarMode;
public TesteViewFormBotao() {
super();
setNovoMode(true);
setExcluirMode(true);
}
@Action
@EnabledWhen("form.novoMode") //Só habilita se a condição for true
public void novo() {
setNovoMode(false);
setIncluirMode(true);
setExcluirMode(false);
System.out.println("1 - "+isIncluirMode());
}
@Action
@EnabledWhen("form.incluirMode")
public void incluir()
{
System.out.println("Incluir - "+isIncluirMode());
}
@Action
@EnabledWhen("form.excluirMode")
public void excluir()
{
setNovoMode(false);
setIncluirMode(false);
System.out.println("excluir - "+isExcluirMode());
}
@Action
public void cancelar()
{
setNovoMode(true);
setIncluirMode(false);
setExcluirMode(true);
System.out.println("---- Estado Inicial dos botoes ----");
}
public boolean isIncluirMode() {
return incluirMode;
}
public void setIncluirMode(boolean incluirMode) {
this.incluirMode = incluirMode;
}
public boolean isExcluirMode() {
return excluirMode;
}
public void setExcluirMode(boolean excluirMode) {
this.excluirMode = excluirMode;
}
public boolean isCancelarMode() {
return cancelarMode;
}
public void setCancelarMode(boolean cancelarMode) {
this.cancelarMode = cancelarMode;
}
public boolean isNovoMode() {
return novoMode;
}
public void setNovoMode(boolean novoMode) {
this.novoMode = novoMode;
}
}
E A VIEW
//----------------------------
// VIEW
//----------------------------
package testeg;
import net.java.dev.genesis.annotation.ViewHandler;
import net.java.dev.genesis.ui.swing.SwingBinder;
@ViewHandler
public class TesteViewBotao extends javax.swing.JFrame {
public TesteViewBotao() {
initComponents();
SwingBinder binder = new SwingBinder(this, new TesteViewFormBotao());
binder.bind();
}
private void initComponents() {
Novo = new javax.swing.JButton();
Incluir = new javax.swing.JButton();
Excluir = new javax.swing.JButton();
Cancelar = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
Novo.setText("Novo");
Novo.setName("novo"); // NOI18N
Novo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
NovoActionPerformed(evt);
}
});
Incluir.setText("Incluir");
Incluir.setName("incluir"); // NOI18N
Excluir.setText("Excluir");
Excluir.setName("excluir"); // NOI18N
Cancelar.setText("Cancelar");
Cancelar.setName("cancelar"); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(Novo)
.addGap(18, 18, 18)
.addComponent(Incluir)
.addGap(18, 18, 18)
.addComponent(Excluir)
.addGap(18, 18, 18)
.addComponent(Cancelar)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(Novo)
.addComponent(Incluir)
.addComponent(Excluir)
.addComponent(Cancelar))
.addContainerGap(24, Short.MAX_VALUE))
);
pack();
}
private void NovoActionPerformed(java.awt.event.ActionEvent evt) {}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TesteViewBotao().setVisible(true);
}
});
}
private javax.swing.JButton Cancelar;
private javax.swing.JButton Excluir;
private javax.swing.JButton Incluir;
private javax.swing.JButton Novo;
}
WARNING:
07/04/2008 11:16:50 net.java.dev.genesis.ui.binding.AbstractBinder bindFieldMetadata
WARNING: novoMode could not be found while binding class testeg.TesteViewFormBotao
07/04/2008 11:16:50 net.java.dev.genesis.ui.binding.AbstractBinder bindFieldMetadata
WARNING: excluirMode could not be found while binding class testeg.TesteViewFormBotao
07/04/2008 11:16:50 net.java.dev.genesis.ui.binding.AbstractBinder bindFieldMetadata
WARNING: cancelarMode could not be found while binding class testeg.TesteViewFormBotao
07/04/2008 11:16:50 net.java.dev.genesis.ui.binding.AbstractBinder bindFieldMetadata
WARNING: incluirMode could not be found while binding class testeg.TesteViewFormBotao
Acho que está procurando uma referencia a algum componente da view e não encontra(incluirMode, excluirMode, cancelarMode, novoMode). Só que eu não posso fazer o “binder.register” por que os métodos dos botões são outros(novo, incluir, excluir,cancelar).
Eu não sei se foi a melhor maneira para fazer o Form, mais funcionou. O problema mesmo são as warnings em tempo de execução. Só quero tirá-los.
Se alguem puder me ajudar ficarei grato.
Obrigado a todos.
Aléssio