1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

O meu primeiro programa com interface gráfico :D

Discussão em 'Programação' iniciada por CrazyBomber, 10 de Junho de 2006. (Respostas: 7; Visualizações: 1308)

  1. CrazyBomber

    CrazyBomber Power Member

    Boas.
    Eu sei que é um bocado tarde, mas parece-me que a partir das 2 da manhã é quando programo melhor :D

    Então a minha experiência com interfaces gráficos tinha sido, até agora, algo limitada. Fiz algumas coisitas para telemóvel, algumas applets, e umas páginas em PHP. Mas agora, finalmente, lá consegui fazer uma aplicaçãozita mais fixe, e tou todo contente :D

    É muito básica (tb só levou 1 hora e pouco a programar), mas é algo que a minha namorada me tinha até pedido: uma maneira fácil de ir somando números. Ela trabalha muito com estatísticas, pelo que dá-lhe jeito algo que seja só meter o número, carregar no enter, e continuar.

    Já lhe tinha criado uma aplicação pra correr na consola, mas agora decidi-me a ir explorar mais os IDE's que por aí andam.

    Como tinha trabalhado recentemente (tipo a semana que passou lol) com o Netbeans, e sabia que aquilo tinha umas features engraçadas para desenvolvimento de aplicações "móveis", decidi ver o que tinha para aplicações "normais".

    Dumb me, tava lá o interface todo jeitoso e apetitoso, mesmo a pedir para ser usado e abusado. É incrível o aumento de produtividade com um IDE destes. Eu teria perdido HORAS só a criar e ajustar os botões, textos, etc.

    Ok, então comecei a ver aquilo, e o código foi gerado quase todo automáticamente. Só tive de fazer mesmo a parte da "acção", que é tão simples como seleccionar um evento para um objecto, e fazer o corpo da função que ele gera automáticamente. Assim, só tive mesmo de espetar uns quantos botões, umas caixas de texto, e fazer 3 funções: o carregar no "enter" quando está a caixa de texto seleccionada, o carregar no botão de "reset", e o botão de "undo". Ah, também criei uma classezita auxiliar à parte, para conseguir fazer bem a cena do "undo" (voltar atrás...), com auxilio de um Vector.

    Enfim, entreti-me aqui a programar, o tempo vôo, e agora gostava de partilhar o meu resultado com o pessoal :D

    Ah, também fui à procura de uma maneira de converter os .JAR's em executáveis (um wrapperzito, portanto), e encontrei um opensource, bem jeitoso: JSmooth.

    Ok, resumindo, usei:
    Java SDK Standart Edition
    Netbeans
    JSmooth

    Tudo software "livre" :)

    Podem sacar aqui o projecto todo: CalcRap.zip (292KB)

    Inclui: o ficheiro .exe, source code, e tudo o resto que o Netbeans gera automáticamente.

    Peço desculpa se alguém se ofendeu a ler um texto tão grande para uma coisa tão pequenina, mas esta é daquelas alturas em que me apetece beber 3 litros de café e não parar de programar :D

    PS: já me esquecia... o programazito suporta UNDO ilimitado (até 16Megas de undo's lol! :D), pode fazer as 4 operações básicas (soma, subtracção, multiplicação e divisão), e é só ir escrevendo os números e carregar no enter! :D

    Fica aqui um screenshot:
    [​IMG]
     
    Última edição: 10 de Junho de 2006
  2. Alone I Break

    Alone I Break 1st Folding then Sex

    As screenshots não estão a funcionar. :P
    Até testava a app e dava feedback mas estou no Ubuntu , fico-me pela screenshot. :P

    EDIT: pelos vistos é mesmo do host.
     
    Última edição: 10 de Junho de 2006
  3. CrazyBomber

    CrazyBomber Power Member

    Sorry pelo broken link :sad:

    Alguém lá em casa deve ter mandando o server abaixo, ou então caíu a net mesmo.

    Já editei os links, meti no server da Univ :D
     
  4. CrazyBomber

    CrazyBomber Power Member

    Tinha de continuar! :sad:

    Está aqui a versão 2, que guarda, carrega, e apaga cálculos (valor final + conjunto de operações):
    CalcRapv2.zip (299KB)

    Mais uma vez, vai o código fonte todo :)

    Screenshot:
    [​IMG]
     
  5. kronos

    kronos Power Member

    ate é bastante util e pratico, eu se fosse ti implementava um key listener para trocar o radio button, em jva grafico tens uma classe para isso ( n me lembro do nome).

    por exemplo a - soma, s - sub, d - mult

    tecla pressionada troca imediamente a opção o que resultaria bastante pratico para a tua namorada ;)

    também podes usar os simbolos das operações mas lixas a vida ao pessoal dos portateis;)

    cumps
     
  6. CrazyBomber

    CrazyBomber Power Member

    Roger that :D

    Qd puder vou fazer isso :)
    o pc tá nas mãos da minha irmã...:sad:

    Ah, thanks pelo feedback :x2:
     
  7. CrazyBomber

    CrazyBomber Power Member

    Bem, agora tenho que pedir alguma ajuda.

    Estou a tentar criar uma cenazita pra abrir uma janelita (JFrame) quando se carrega no botão.

    Para isso, é só chamar a função setVisible( true ) da dita cuja.

    O problema é que a primeira vez que abre, aparece vazia!
    Só à segunda vez é que aparecem as caixas de texto com os valores, etc.

    Depoisp, ainda há mais uma "irritação": quando se fecha essa janela, ela não devolve o focus à janela original! Não devia fazer isso automáticamente? não sei porquê, perfere meter em foco a janela do Netbeans :sad:

    Se alguém conseguir dar umas dicas... já andei a googlar mas não encontrei nada :sad:


    EDIT:
    Experimentei usar um JDialog em vez da JFrame, mas o resultado foi precisamente o mesmo :sad:
     
    Última edição: 11 de Junho de 2006
  8. CrazyBomber

    CrazyBomber Power Member

    Bem, um dos problemas já resolvi: o de o gajo não focar de novo a janela original.

    Está aqui a versão 3 (Beta :D), que tem como novas features:
    - atalhos para selecção da operação (a tecla está entre [])
    - redo! se fizerem undo, depois podem fazer redo :D
    - redo's guardados, tal como os undo's
    - editar o nome dos cálculos guardados (para já, mesmo só o nome...)

    O que eu me divirto com isto :x2:

    bugs por resolver:
    a 1ª janela de edit vem sempre vazia! :sad:
    a lista de resultados guardados não actualiza automáticamente qd se altera o nome de um cálculo. é preciso ir lá clicar. Já tentei alguns métodos, como repaint(), paint(), componentPaint(), etc. Ainda não encontrei nada que resultasse :sad:

    screenie:
    [​IMG]

    Em princípio este "mini-programa" fica por aqui. A seguir vou tentar fazer um programa mais "a sério" :x2:
     

Partilhar esta Página