Boa tarde
Ao selecionar um item em uma combo box, um processo que leva alguns segundos (ou até minutos) é executado. Durante esse tempo, o cursor do mouse deve ser alterado para WAIT_CURSOR apenas quando estiver posicionado sobre a janela do programa para que não atrapalhe a utilização de outros programas durante esse tempo. Porém o cursor está ficando em estado de espera mesmo quando não está posicionado sobre a janela do aplicativo em questão.
O cursor está sendo alterado na seguinte linha:
this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Eu pensava que o "this" limitaria apenas ao jFrame corrente.
Alguém saberia me informar como devo fazer para resolver esse problema?
Desde já agradeço
Qual é o tipo do objeto referenciado por “this”?
É um jFrame.
Não sei até onde isso pode ajudar, mas eis aqui o método na íntegra:
private void cbo_projectsActionPerformed(java.awt.event.ActionEvent evt) {
this.main_panel.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
merged_projects.clear();
if (program_started) {
project_horizons.clear();
dlm.clear();
System.out.println(projects_3d.get(cbo_projects.getSelectedIndex()));
this.projectSelected(OW_PMPATH, projects_3d.get(cbo_projects.getSelectedIndex()));
}
this.setCursor(Cursor.getDefaultCursor());
this.btn_horizon_list.setEnabled(true);
}
Estranho, deveria ficar somente na tua aplicação java.
O teu processo não é pesado q o sistema operacional senta na graxa e nem consegue
atualizar o mouse?
Olha esse exemplo simples:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
frame.setVisible(true);
}