o next focusable, apesar de depreciado ainda funciona e é o que estou usando, mas numa pequena pesquisa achei sobre o focus trans policy, mas não entendi como usalo.
como usa o ftpolicy e qual é o problema em deixar o programa funcionando com um metodo depreciado?
Problema eu usar métodos depreciados… NENHUM… mas você tem que ter ciência que o método só vai atender as classes e lógicas até a data que ele foi decreciado. E não vai haver mais melhorias e conserto de possíveis erros.
As classes de FocusTransversalPolicy tem mais ou menos essa cara…
[code]public static class MyOwnFocusTraversalPolicy extends FocusTraversalPolicy
{
Vector order;
public MyOwnFocusTraversalPolicy(Vector<Component> order) {
this.order = new Vector<Component>(order.size());
this.order.addAll(order);
}
public Component getComponentAfter(Container focusCycleRoot, Component aComponent)
{
int idx = (order.indexOf(aComponent) + 1) % order.size();
return order.get(idx);
}
public Component getComponentBefore(Container focusCycleRoot, Component aComponent)
{
int idx = order.indexOf(aComponent) - 1;
if (idx < 0) {
idx = order.size() - 1;
}
return order.get(idx);
}
public Component getDefaultComponent(Container focusCycleRoot) {
return order.get(0);
}
public Component getLastComponent(Container focusCycleRoot) {
return order.lastElement();
}
public Component getFirstComponent(Container focusCycleRoot) {
return order.get(0);
}
}[/code]
Em tese, métodos ou classes marcados como obsoletos (a clássica anotação @Deprecated) podem ser removidos de versões futuras da plataforma Java ou de outras bibliotecas, tais como o Hibernate. Mas, no caso específico da plataforma Java, a Sun/Oracle nunca quis correr o risco de causar problemas em programas antigos que dependessem de elementos que ficaram obsoletos depois, então nesse caso o risco de usar elementos obsoletos é quase nulo. Porém, fora das classes padrão da plataforma Java, usar elementos marcados obsoletos é uma prática que deve ser evitada.