Salve galera!
Estou com um problema simples creio, mas to me enrolando nele.
Tenho um jcombo dentro de jpanel, e esse jpanel dentro de um jscroll que tem uma rolagem automática. Essa rolagem é ativada quando o componente q recebe o foco está a certa distancia do centro da visualização. Dae é criado um objeto Timer (o t) q desce suavemente heheheheehehe locando o foco no centro da visualização. Tá bem legalzin. Meu problema é q quando um jcombo recebe o foco, e o scroll sobe, o popup fica pra baixo hehehehehe… funciona normal, mas fica bem feio. Já tentei de tudo pra parar o t, mas nã consigo. Creio que o evento foco aconteça depois desses eventos que possuem a propriedade de parar o t, que estão abaixo:
combo.addPopupMenuListener(
new javax.swing.event.PopupMenuListener() {
public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
try{
t.stop(); t = null;ignoraFocar = true;
}
catch(Exception ep){}
}
public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
try{
t.stop(); t = null;ignoraFocar = true;
}
catch(Exception ep){}
}
public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
try{
t.stop(); t = null;ignoraFocar = true;
}
catch(Exception ep){}
}
});
combo.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
try{
t.stop(); t = null;ignoraFocar = true;
}
catch(Exception ep){}
}
}
);
combo.addComponentListener(
new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
try{
t.stop(); t = null;ignoraFocar = true;
}
catch(Exception ep){}
}
});
Como disse o Lenin: Que fazer?