buscante,
já ouviu falar no padrão Observer???Tem um tutorial aqui no GUJ!
Nãaao!Isole um menu por classe!Imagine se cada menu for daqueles super completos com mais de 500 linhas?Seu código ficará intragável…
buscante,
já ouviu falar no padrão Observer???Tem um tutorial aqui no GUJ!
Nãaao!Isole um menu por classe!Imagine se cada menu for daqueles super completos com mais de 500 linhas?Seu código ficará intragável…
Só pro menu eu concordo. Pros outros eventos não, deixa o código muito confuso e difícil de reaproveitar.
[quote=cleo.nascimento]se você prestar atenção no que eu escrevi[/quote]okay, sorry.
por favor, sem o caro (sou bem sarcástico, IMO)
Observer é um padrão muito utilizado por desenvolvedores de GUI´s.Tem um tutorial do
Samuel Mota aqui no guj.Se não estiver lá é pq o Rafael ainda não colocou depois do
grande crash.Logo ele arruma.
[quote]QUANDO DEVO OPTAR POR CLASSES OUVINTES AO INVÉS DE IMPLEMENTAR DIRETO NO
OBJETO?[/quote]
O ideal seria sempre, mas vc dificilmente fará por motivos de simplificação e agilidade do código.(se vc tiver muitos componentes num menuzinho, executando diferentes tarefas, mas sem complexidade, poderia ser muito “poluído” por ter uma dúzia a mais de classes só para eventos.Isso depende de quão clean vc quer o seu projeto. Se vc tiver muitos componentes executando uma mesma função, considere
usar actions, o que facilitará o tratamento dos seus eventos. Mais aqui:
http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html
e aqui:
http://www.guj.com.br/posts/list/4433.java
Cara, eu acho q vc está confundindo as coisas.Arquivo,Formatar e Ajuda estariam
na mesma barra de menus, logo seriam membros de uma classe só.quando eu falo
“menu”, eu estou falando de uma JMenuBar completa com seus componentes como aqui:
http://www.guj.com.br/posts/list/15/30376.java (repara não, mas esse código é ugly…)
[quote]Outras sugestões com relação a criação e instância de objetos tá valendo.
[/quote]
Crie quando precisar usar.Jamais referencie quando não for necessário.Tem um tuto meu aqui: “Variáveis e passagens de parâmetro” lá nos tutoriais.
Como eu acho que um dos melhores aprendizados é vc baixar algum programa e estudar o código, veja esse:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javadb/
e vá no src para brincar.Outro link bom é o: www.java2s.com
no meu programa precisei criar 3 menus com vários itens cada, tudo no Main.java. mas cada item tem um actionPerformed. a minha dúvida é:
como vcs fazem?
Primeiro: você não deve criar sua aplicação no “main”, pois ele é o escape do sistema, deve ser usado apenas para, instanciar os objetos ou invocá-los.
Segundo: seria uma boa prática, você usar apenas um ouvinte para todos os objetos da classe; use os metodos para identificar que esta em uso como: getSource(), para identificar qual objeto esta sendo usado falou!
Não sei o que é Observer. Procurei no Guj mas acho que não consegui respostas suficientes pra eu ter certeza do que se trata. Me indiquem um tutorial ou algum resumo de vcs mesmo.
Ah, talvez eu ou vcs não tenham entendido. Eu criei uma classe chamada Main.java. O NetBeans faz isso, apesar de eu estar usando o Eclipse. Bom, então, quero dizer isso. O que devo fazer nessa classe Main sendo a principal do meu sistema, que irá ter o método main. Devo apenas instanciar objetos? Posso fazer implementações? O que é bom pra fazer, o que é uma boa prática para essa classe principal?
Então, pensei em usar apenas uma classe ouvinte para os menus mesmo. Porque o código ficaria muito confuso devido ao seu tamanho por causa que cada item tem seu evento, fica difícil. Além de que alguns itens de menu se forem selecionados, mudam totalmente a GUI invocando outros métodos. Mas gostaria de uma opinião, mesmo que seja meio difícil de responder, pode ser a resposta pessoal, para com uma aplicação desktop (nada de servidores): QUANDO DEVO OPTAR POR CLASSES OUVINTES AO INVÉS DE IMPLEMENTAR DIRETO NO OBJETO?
Ah, outra: Um menu por classe? Quer dizer que se eu tiver um menu Arquivo devo criar uma classe pra criar ele e seus itens, e quando tiver o menu Formatar e Ajuda criar outras 2 classes para criá-los?
Outras sugestões com relação a criação e instância de objetos tá valendo.
muito obrigado!
Caro agodinhost, se você prestar atenção no que eu escrevi: (você usar apenas um ouvinte para todos os objetos da classe); eu disse, que é ideal usar uma única interface para eventos por classe;
Esse é o Framework Spring ou o MVC como muitos o conhecem;
espero que tenha entendido o que quis dizer.
[quote=buscante]Não sei o que é Observer. Procurei no Guj mas acho que não consegui respostas suficientes pra eu ter certeza do que se trata. Me indiquem um tutorial ou algum resumo de vcs mesmo.
Ah, talvez eu ou vcs não tenham entendido. Eu criei uma classe chamada Main.java. O NetBeans faz isso, apesar de eu estar usando o Eclipse. Bom, então, quero dizer isso. O que devo fazer nessa classe Main sendo a principal do meu sistema, que irá ter o método main. Devo apenas instanciar objetos? Posso fazer implementações? O que é bom pra fazer, o que é uma boa prática para essa classe principal?
Então, pensei em usar apenas uma classe ouvinte para os menus mesmo. Porque o código ficaria muito confuso devido ao seu tamanho por causa que cada item tem seu evento, fica difícil. Além de que alguns itens de menu se forem selecionados, mudam totalmente a GUI invocando outros métodos. Mas gostaria de uma opinião, mesmo que seja meio difícil de responder, pode ser a resposta pessoal, para com uma aplicação desktop (nada de servidores): QUANDO DEVO OPTAR POR CLASSES OUVINTES AO INVÉS DE IMPLEMENTAR DIRETO NO OBJETO?
Ah, outra: Um menu por classe? Quer dizer que se eu tiver um menu Arquivo devo criar uma classe pra criar ele e seus itens, e quando tiver o menu Formatar e Ajuda criar outras 2 classes para criá-los?
Outras sugestões com relação a criação e instância de objetos tá valendo.
muito obrigado![/quote]
E quanto as minhas dúvidas? Alguém pode ajudar?
opa, valeu amigo.
ajudou muito.