Prezados,
Bom dia. Foi-me pedido para fazer uma implementação em Swing e AWT de uma aplicação que liste as operações que estão sendo feitas em um JTextArea, bem como exista um JProgressBar contendo a porcentagem de operações efetuadas e, ao seu lado, a quantidade efetiva de operações efetuadas, por exemplo, 10% (10 de 100 operações efetuadas).
Nesta implementação deve existir ainda um botão cancelar que questione o usuário se é isso mesmo que ele quer e caso haja a confirmação, o programa deve parar de fazer o que estava fazendo e dar um rollback em tudo que foi feito.
Este programa é baseado no instalador do programa Notepad++.
Eis minhas dúvidas:
Existe um append no JTextArea assim como no StringBuilder? O que eu tenho feito até agora é resetar o texto do meu JTextArea com o valor já existente nelo mesmo concatenado à nova operação. O problema é que além de ser custoso, este método não me atende visualmente, pois ele não lista as operações, apenas apaga o JTextArea e o reescreve, como são muitas operações, o que acontece é que ele simplesmente desaparece da tela e volta quando o programa termina de executar. Eis o código para ficar mais visual:
Quanto ao botão cancelar:
Como seria o listenner que interromperia o método em execução? Eu sei dar a mensagem de confirmação na boa e após isso dar rollback nas operações feitas, mas não sei como parar o que já está sendo feito quando o usuário clicar em “Ok”. Seria por reflecção?
Quanto ao JProgressBar:
Sei nada sobre isso, alguém poderia me dizer onde ler sobre o assunto com exemplos? Pensei em pegar o tamanho da minha lista de operações e ficar dividindo ela a cada laço de operações para achar a porcentagem, seria esse o certo? E como ir carregando a JProgressBar?
Obrigado aí, rapaziada!