Boa tarde. Galera estou tentando desenvolver alguns componentes visuais java pra facilitar o desenvolvimento em desktop. Estou com um problema que é o seguinte: Tenho um campo boolean na minha aplicação que tem os gets e sets normalmente e quando importo meu componente no netbeans ele aparece nas propriedades mais quando mudo a propriedade a aplicação não esta lendo o valor que alterei. seguem as classes.
package Br.Com.Util.CustomComponents;
import java.awt.event.FocusEvent;
import java.awt.event.KeyEvent;
/**
*
* @author Josimar
*/
public class JCustomTextField extends JBaseComponent {
private boolean upperCase = true;
public JCustomTextField() {
setDocument(new UpperCaseDocument(isUpperCase()));
keyListener();
focusListener();
}
public boolean isUpperCase() {
return upperCase;
}
public void setUpperCase(boolean upperCase) {
this.upperCase = upperCase;
}
private void focusListener() {
this.addFocusListener(new java.awt.event.FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
super.focusGained(e);
selectAll();
}
@Override
public void focusLost(java.awt.event.FocusEvent evt) {
super.focusLost(evt);
}
});
}
private void keyListener() {
this.addKeyListener(new java.awt.event.KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == e.VK_ENTER) {
transferFocus();
}
super.keyPressed(e);
}
@Override
public void keyTyped(java.awt.event.KeyEvent evt) {
if (getMaxCharacters() > 0) {
if (getMaxCharacters() <= getText().length()) {
evt.consume();
}
}
super.keyTyped(evt);
}
});
}
}
package Br.Com.Util.CustomComponents;
import javax.swing.JTextField;
/**
*
* @author Josimar
*/
public abstract class JBaseComponent extends JTextField {
private Integer maxCharacters = 0;
private Boolean fieldNull = true;
public JBaseComponent() {
}
@Override
public String getText() {
return super.getText();
}
@Override
public void setText(String text) {
super.setText(text);
}
public Boolean getFieldNull() {
return fieldNull;
}
public void setFieldNull(Boolean fieldNull) {
this.fieldNull = fieldNull;
}
public Integer getMaxCharacters() {
return maxCharacters;
}
public void setMaxCharacters(Integer maxCharacters) {
this.maxCharacters = maxCharacters;
}
}
package Br.Com.Util.CustomComponents;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
/**
*
* @author Josimar
*/
public class UpperCaseDocument extends PlainDocument {
private boolean upperCase;
public UpperCaseDocument(boolean upperCase) {
this.upperCase = upperCase;
}
@Override
public void insertString(int offs, String str, javax.swing.text.AttributeSet a) throws BadLocationException {
if (upperCase) {
super.insertString(offs, str.toUpperCase(), a);
} else {
super.insertString(offs, str.toLowerCase(), a);
}
}
}