Página Inicial do Fórum > Java Básico

Botão fechar programa com ActionListener



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 09/07/2010 22:03:54



    E ai staroski caminho certo?



  1. staroski
    Posts:4041


    Comment Arrow

    Publicado em: 10/07/2010 11:27:01

    É por aí.
    Pode postas os códigos completos, aí fica fácil de te darmos mais dicas do que deve ser alterado.
    Por exemplo eu vi que você implementou um ActionListener que não faz nada...

    Você está chamando o System.exit passando 1 como parâmetro...
    Qualquer número diferente de 0 é para indicar que o programa foi fechado com erro...

    Você já baixou a documentação do Java?
    Ela é fundamental, afinal ninguém quer memorizar a utilidade de de mais de 3000 classes e seus respectivos métodos...

    Você pode baixar a documentação aqui:
    http://java.sun.com/javase/downloads/index.jsp#docs

    Quanto ao posicionamento do botão usando setBounds, legal, dá pra começar assim, mas se redimensionar sua janela, aí ferrou...

    Procure utilizar gerenciadores de layout ou em inglês: Layout Managers.

    Aqui tem um tutorial dos componentes do swing:
    http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/components/index.html

    Aqui um tutorial dos Layout Managers:
    http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/layout/index.html
    _________________
    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    http://www.staroski.com.br

  1. Comment Arrow

    Publicado em: 09/07/2010 22:03:54

    Valeu novamente staroski

    Aqui o código completo até onde consegui chegar.



    Estou empacado no label do combo. da o erro abaixo quando tento inserir.


    Já peguei os links para baixar. Ainda estou engatinhando nas "camadas" e instâncias. Tambem estou usando muito o code completion do netbeans como pesquisa e auxilio na sintaxe.

  1. Comment Arrow

    Publicado em: 09/07/2010 22:03:54

    Não tinha feito a inicialização



  1. staroski
    Posts:4041


    Comment Arrow

    Publicado em: 10/07/2010 11:27:01

    Dica importante
    Uma tela não deveria ter inteligência, ela deveria servir apenas para apresentar informações ao usuário e obter informações do mesmo.
    Quem deve tratar essas coisas é a camada de negócios.

    Então que tal melhorar esse trecho de código aqui:


    Preste bem atenção: esse código está implementado na sua Janela.

    Mas uma Janela não tem nada que se preocupar em como as informações de um Filme precisam ser gravadas...

    Lembre-se, Programação Orientada a Objetos.
    Que tal deixar essa responsabilidade com a classe Filme?

    Abaixo está a classe Filme, depois você completa os atributos dela


    E aqui as alterações no código que grava o arquivo


    Ficou mais legível, não acha?
    Futuramente se o seu formato de arquivo mudar, você só precisa mexer na classe Filme.
    O resto do sistema continua como está.

    Na classe Filme você pode criar um construtor que recebe um InputStream como parâmetro e faz o processo contrário da gravação, ou seja, lê o conteúdo do InputStream e inicializa os atributos do objeto.
    _________________
    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    http://www.staroski.com.br

  1. Comment Arrow

    Publicado em: 09/07/2010 22:03:54

    Funcionou beleza
    Fiz as 2 importações que faltavam

    e alterei esta parte

    para


    a variável textField não era reconhecida.

    Agora vamos ver se entendi a OO

    Telas devem se ater apenas a sua função: interface, dados I/O e propriedades.
    Processamento deve ser feito na main por uma classe própria para cada necessidade.



  1. staroski
    Posts:4041


    Comment Arrow

    Publicado em: 10/07/2010 11:27:01

    Paulo rsmenezes
    Agora vamos ver se entendi a OO
    Telas devem se ater apenas a sua função: interface, dados I/O e propriedades.
    Processamento deve ser feito na main por uma classe própria para cada necessidade.


    Quase isso...
    Se você estudar por exemplo o padrão de projetos MVC - Model View Control vai entender.

    Já pesquisou sobre desenvolvimento em camadas?
    Aqui tem um artigo legal inclusive com download do código fonte de exemplo:
    http://www.devmedia.com.br/post-6418-Construindo-projetos-em-camadas-usando-Java.html

    Se quiser dar uma boa melhorada no seu código, faça metodos que tenham no máximo entre 20 e 30 linhas.
    Hoje, você tem um método desenhaJanela que faz praticamente tudo.

    Quando escrever código Java, procure seguir as Convenções de Código Java, tem um link na assinatura do meu post
    _________________
    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    http://www.staroski.com.br



  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Java Básico