<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d7477502\x26blogName\x3djSMS\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLACK\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://jsms.blogspot.com/search\x26blogLocale\x3dpt_BR\x26v\x3d2\x26homepageUrl\x3dhttp://jsms.blogspot.com/\x26vt\x3d2558718862538480322', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

terça-feira, dezembro 28, 2004

jSMS 1.29 - Versão Final

Finalmente eis a nova versão!
  • Os erros gerados na tabela da aba Pool, que eram gerados pela JSortTable (código de terceiros), foram resolvidos;

  • A verificação de atualizações não estava funcionando corretamente!


Não leia o seguinte se você não gosta de programação:
É incrível como pode-se fazer merda em Java, quando não se conhece os mecanismos internos de pintura de componentes gráficos! A implementação da Sun é muito bem elaborada, porém, às vezes, a mesma acaba dando margem para programadores fazerem merda. Além da falta de um if-then-else no código da JSortTable, a tabela estava sendo notificada de mudanças via o método tableChanged(), da JTable. Eis um grande erro! Como a documentação da Sun mesmo diz, esse método deve ser apenas utilizado dentro da JTable. Quando se deseja notificar uma JTable de que houve modificações, deve-se invocar o método resizeAndRepaint(), da mesma. Porém, esse método é protected. A solução? Simplesmente adicionar o método (com modificador public) na JSortTable, chamando o método da JTable (super.resizeAndRepaint())! Talvez isso seja útil para alguém algum dia ;-D

Postado por renatoc às 11:44 PM - 11 comentários

segunda-feira, dezembro 27, 2004

jSMS 1.29RC1

Algumas pequenas modificações foram feitas:

  • É possível configurar o seu proxy via UI! Para tal, basta ir no menu Operadoras -> Configurar Proxy. Se algum dos campos for deixado em branco, então o proxy será desativado;

  • A opção "Não verificar o número" está de volta!

ATENÇÃO: essa ainda não é uma versão final e, portanto, ainda contém bugs. O grande problema ainda está na JSortTable. Logo, se houver alguma exceção maluca durante a execução do jSMS (no console), ignore-a e continue usando sem problemas.

Postado por renatoc às 11:49 PM - 9 comentários

segunda-feira, dezembro 20, 2004

jSMS 1.29 BETA

Finalmente estamos de volta e com novidades:

  • Vocês pediram (e eu precisei usar): Brasil Telecom agora é suportada;

  • Existe uma barra de progresso na UI (interface gráfica), que mostra como vai indo o envio de mensagens e a verificação de atualizações;

  • As colunas da aba pool agora podem ser ordenadas de acordo com o gosto do usuário. ATENÇÃO: essa nova funcionalidade ainda está sendo testada e não está funcionando corretamente (eis o problema de utilizar código de outras pessoas; um dia eu refaço isso, talvez).

Ao longo da execução do programa, ocorrerão erros estranhos, como OutOfBoundsException gerado dentro da JVM. O responsável por isso é o novo modelo utilizado na JTable da aba pool. Esses erros não devem ser reportados.
A próxima versão terá a configuração de proxy integrada na UI. Para quem não lembra, o jSMS já suporta PROXY há muito tempo... para ver como usar, procure nos posts anteriores.

Postado por renatoc às 11:15 AM - 6 comentários