Oi Pessoal, se alguém puder me ajudar agradeço.
Atualmente trabalho com JBuilder 8, basicamente trabalhando
com Swing.
Existem algumas telas do meu sistema que interage com o
usuário através de JTable, mais precisamente (JdbTable “classe borland”) ,
no qual o usuário digita diretamente na Tabela.
Nos campos que o usuário realiza a digitação foram criados
mascaras para controlar o que é digitado. O problema está no
momento da digitação, quando o usuário entra em modo de edição no campo
o cursor sempre se posiciona no final do campo, desta forma o usuário
tem que digitar a tecla <HOME> para se posicionar no inicio do campo e desta
forma realizar a digitação. Na verdade gera um desconforto e perda de tempo ao usuário
e não necessariamente um problema na digitação.
Verifiquei que o problema ocorre em decorrência da existencia de mascaras associadas as
colunas da tabela, colunas/campos que não tem mascara não ocorre este problema.
Tenho buscado soluções em duas hipóteses: 1)Descobrir como acionar a tecla <HOME>
via código Java, desta forma o usuário ao entrar em modo de edição no campo da tabela, o sistema
automaticamente posicionaria o cursor no inicio do campo.
2)Verificar se existe uma forma diferente de criar mascaras.
Exemplo do código atualmente utilizado;
JdbTable tabelaUser = new JdbTable()
tabelaUser .setDataSet(queryDataSet);
Column colunaUser = new Column()
queryDataSet.setColumns(new Column[] {colunaUser});
colunaUser .setAlignment(com.borland.dx.text.Alignment.CENTER |
com.borland.dx.text.Alignment.MIDDLE);
colunaUser .setBackground(Color.orange);
colunaUser .setCaption(“Hr. Termino”);
colunaUser .setColumnName(“HR.TERMINO”);
colunaUser .setDataType(com.borland.dx.dataset.Variant.STRING);
colunaUser .setDisplayMask(“00:00”); <== mascaras
colunaUser .setEditMask(“00:00”); <== mascaras
colunaUser .setFont(new java.awt.Font(“Dialog”, 1, 11));
colunaUser .setForeground(Color.red);
colunaUser .setPrecision(10);
colucolunaUser mn33.setPreferredOrdinal(4);
colunaUser .setSearchable(false);
colunaUser .setTableName(“PISFEX100”);
colunaUser .setWidth(8);
colunaUser .setServerColumnName(“FEX1005HORATERMINO”);
colunaUser .setSqlType(1);
Demais tipo de mascaras utilizadas:
####.00
########.###
##########
Esses dois métodos funcionam como dar um HOME na celula.