SystemTray com Java

Julho 9, 2009 por blogprototipo

Então.. sabe aqueles aplicativos que ficam com um ícone ao lado do relógio e não ocupando um espaço gigante na barra de aplicativos?

Precisei fazer isso aqui na empresa essa semana, dei uma pesquisada, mas achei tudo muito espalhado. Precisava de algo que escondesse o aplicativo para a SystemTray e depois, quando clicasse no link, ele aparecesse novamente.

No final encontrei o que precisava, então divido aqui com vocês o método que criei pra isso. Se estiverem usando Netbeans, não esquecam de mudar a propriedade “defaultcloseoperation” do Frame para “DO_NOTHING”.

Qualquer dúvida, só postar, tenho andado sumido por causa da empresa, mas quando dá eu respondo:

Bom.. aí vai:

    public static void main(String args[]) {
        final JFrameMain frame = new JFrameMain();
        //Checa se há suporte a system tray
        if (!SystemTray.isSupported()) {
            System.out.println("SystemTray is not supported");
            return;
        }
        //Cria o popupmenu
        final PopupMenu popup = new PopupMenu();

        //Cria o icone da tray
        Image img = Toolkit.getDefaultToolkit().
                getImage("C:/Quantoon/Logos/LogoSmall.jpg");
        final TrayIcon trayIcon =
                new TrayIcon(img, "Tray Demo", popup);
         final SystemTray tray = SystemTray.getSystemTray();

         // cria os itens do menu
        MenuItem aboutItem = new MenuItem("Abrir");
        MenuItem exitItem = new MenuItem("Sair");

        //Coloca os itens no menu
        popup.add(aboutItem);
        popup.addSeparator();
        popup.add(exitItem);

        //Adiciona o popup no tray
        trayIcon.setPopupMenu(popup);

        try {
            tray.add(trayIcon);
        } catch (AWTException e) {
            System.out.println("TrayIcon could not be added.");
        }

        //Cria o listener para abrir o jframe quando clicar
        trayIcon.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent evt){
                if(frame.isVisible()){
                    frame.setVisible(false);
                }else{
                    frame.setVisible(true);
                }
            }
        });
        //Cria o listener para esconder o jframe quando mandar fechar
         frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent evt) {
                String[] str = {"Sair","SystemTray"};
                int result = JOptionPane.showOptionDialog(frame,
                "Você quer sair ou ir pro SystemTray ?", "Sair ou  SystemTray ?",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str, str[1]);
                if(result == 0){
                    frame.dispose();
                    System.exit(0);
                }else{
                    frame.setVisible(false);
                }//end else
            }//end windowClosing
        });//end WindowAdapter
        frame.setSize(600, 400);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

    }

Business Intelligence e o Pentaho

Março 1, 2009 por blogprototipo

Bom… Depois de bastante tempo sem atualizar o BLOG, finalmente tenho um tempinho pra isso…

E agora com uma novidade. A minha empresa começa a atuar no ramo de B.I. – Business Intelligence a partir do março.

O mais complexo foi escolher qual plataforma de Business Intelligence iríamos utilizar.

Avaliamos 3:

Cognos - Ótima, extremamente poderosa, porém muito cara;
Microsoft - Valor acessível, porém achei muito imaturo ainda. Senti falta de Front-ends entre outras coisas;
Pentaho – Open source, bastante completa porém com pouco suporte ainda.

No final, decidi ficar com o Pentaho. Apesar de ter pouca documentação e não termos conseguido contato com eles via telefone, após um pouco de estudo e pesquisa, consegui trabalhar com ele. E não é que o carinha realmente funciona?

Com certeza não é a tarefa mais fácil do mundo. Envolve um pouco de Javascript, entre outras coisas e a falta de documentação realmente é um incomodo. Mas, aos poucos estou conseguindo trabalhar com ele e pretendo colocar em cada post novo, algumas coisas sobre como se trabalhar com o Pentaho.

No próximo post, colocarei informações sobre cada módulo do Pentaho que estou utilizando: Para ETL, para geração de Cubos, para criação de Dashboards, entre outros. Fique Ligado :)

Se não concordarem com minha escolha, por favor comentem com suas razões. De repente mudo de idéia, ainda há tempo para isso!

Mais informações sobre o curso de JavaFx

Janeiro 21, 2009 por blogprototipo

Como disse no post anterior, dia 30 de janeiro começa um curso online (e grátis!) de JavaFx, Seguem mais algumas informações:

A primeira apresentação e conteúdo das aulas já foram lançados no site do curso, porém podem sofrer alterações até as datas informadas abaixo.

As datas para a versão final do material são:

1 JavaFX Technology Overview – Jan. 30th, 2009
2 JavaFX Script I – Language Basics – Feb. 7th, 2009
3 JavaFX Script II – Data binding and Triggers – Feb. 14th, 2009
4 Creating GUIs I – March 1st, 2009
5 Creating GUIs II – binding, layout, event handling – March 8th, 2009
6 Animation – March 15th, 2009
7 JavaFX and NetBeans – March 29th, 2009
8 JavaFX Media – April 6th, 2009
9 JavaFX Deployment (and Java SE 6 Update 10) – April 13th , 2009
10 Project Nile (Designer Tool) – April 27th, 2009
11 Mixing JavaFX and Java – May 13th, 2009
12 Accessing Web Services, Mashup, JavaScript integration – May 20th, 2009
13 JavaFX Mobile – May 27th, 2009

E ficamos aguardando o plugin do Netbeans-JavaFx para Linux… um dia sai…

Curso Grátis de JavaFx

Janeiro 19, 2009 por blogprototipo

Há um tempo atrás falei sobre JavaFX.

Pois bem, lá na Lista de discussão do CEJUG, recebi a notícia de que o Java Passion realizará um curso gratuito e online de JavaFx.

O curso terá duração de 15 semanas e começa dia 30 de janeiro de 2009.

Para se inscrever, basta enviar um email em branco para javafxprogramming-subscribe@googlegroups.com

O curso é inglês e recomendo!

Tradução do Livro Grátis sobre SCRUM

Dezembro 17, 2008 por blogprototipo

Há um tempo atrás, coloquei a disposição um link com um livro online sobre Scrum. Pois bem…Saiu agora a tradução dele:
Scrum e XP direto das Trincheiras

Esse é o título do livro online que está disponível em português no site da InfoQ.

Clique aqui para ir para endereço do livro. É preciso se cadastrar e tudo mais, porém, vale a pena!

A tradução não ficou 100%, mas é uma ótima introdução para que está querendo começar. É ele que está me orientando a como introduzir o SCRUM aqui na empresa.

Claro que em Janeiro, pretendo fazer o curso de CSM (Certified ScrumMaster) pela Caelum, claaaro, eu sei que a certificação não vale de nada e bibibi bóbóbó, mas não to fazendo por isso, estou fazendo pelo conteúdo e pelos contantes feedbacks positivos que eu recebo dele.

A palavra do momento é: B.I. (Business Intelligence) pra quem tem a mente pervertida, depois explico o porque!

Desabilitando o cache no JPA

Dezembro 15, 2008 por blogprototipo

Post rápido porque o tempo está curto.

Para desabilitar o cache no JPA (não recomendável desabilitar isso heim!):

Adicione no arquivo persistence.xml, dentro das propriedades a linha:


property name="toplink.cache.shared.default" value="false"

fui!

IPill – E o futuro se aproxima…

Novembro 18, 2008 por blogprototipo

É.. cada dia que passa, eu sinto mais que verei o futuro… Digo futuro no sentido Ficção Científica.

Hoje ouvi falar na IPill:
Medindo 11×26 mm, ela contem um microprocesador, bateria, sensor de PH, sensor de temperatura, transmissor wireless, bomba de fluídos (ahn?) e um reservatório de drogas (Tipo uma mula de aeroporto, mas dentro do seu corpo).

Então.. de acordo com a acidez que a pílula detecta, ele meio que sabe onde que a mula pílula está (estômago, intestino, etc…) e libera a droga na quantidade apenas necessária para o paciente.

Até aí legal, já vi várias vezes esse tipo de coisa na Discovery, falandos sobre nanorobôs, etc… sempre em programas tipo “Medicina do Futuro”. O que me chamou a atenção foi que a pílula está pronta para ser desenvolvida em larga escala!!

Se quiser saber mais visite O link oficial da Philips.

Depois da caneta do futuro, vou comprar uma pílula dessas com Engov, que eu chamei de IEngov, quando ele detectar o álcool no meu corpo, ela vai liberando os Engovs aos poucos! Afinal, beba, mas com responsabilidade!

Você engoliria isso???

Você engoliria isso???

Livro Grátis sobre Scrum

Novembro 10, 2008 por blogprototipo

Agora a empresa está crescendo, mais funcionários chegando e é hora de começar a pensar um pouco (MAIS) em padrões e metodologias….

A InfoQ está oferecendo o download grátis do livro “Scrum and XP from the Trenches”.
Basta fazer o cadastro no site deles : http://www.infoq.com/minibooks/scrum-xp-from-the-trenches

Se quiser é possível também comprar a versão impressa por U$22,95.

Pra quem quiser saber mais sobre Scrum e Metodologia Ágil, alguns links:
Scrum na Wikipedia (português)
Scrum na Wikipedia (Inglês)
Scrum in Five Minutes

Configurando Encode do Netbeans no Linux e a Periquita?

Novembro 7, 2008 por blogprototipo

Bom…Hoje sofri com o Encode do NetBeans. Estava utilizando Windows pra desenvolver no NetBeans e cansei dessa vida, larguei de preguiça e configurei tudo no Ubuntu.

Beleza, configurei, instalei o NetBeans fiz checkout do projeto com o Subversion, mas na hora que eu vou rodar. Pronto, o projeto não compilava por erro de Encode.

Desenvolvi usando ISO-8859-1 e o padrão do Linux é UTF-8. Resolver isso foi tranquilo:

Basta clicar com o Botão direito no projeto – Propriedades – Códigos-Fonte.

Lá embaixo no item Codificação (Encode) mude de UTF-8 para ISO-8859-1.

CUIDADO, não confunda com x-8859-11, eu confundi e fiquei horas pra descobrir!!!!

Beleza, com isso os caracteres malucos do código no NetBeans vão sumir.

PORÉEEEEMMM.. Nem sempre funciona 100%. Algumas vezes, continua ocorrendo problema na compilação. Para resolver isso faça:

clique com o Botão direito no projeto – Propriedades – Construir – Compilação. Nas “opções adicionais de compilação” coloque: -encoding ISO-8859-1

Com isso o projeto vai ser compilado como ISO-8859-1. E deve funcionar direitinho!

Mesmo assim… A partir de agora, sempre que eu começar a desenvolver, vai ser em UTF-8. Assim, se mantem a compatibilidade sem preocupações!

E sobre a Periquita… Se vocês têm algum amigo no trabalho e pra sacanear ele troca o toque do celular pra “Minha Periquita, minha periquita, quem vai querer?”, assegure-se de que ele não terá reunião com o cliente no mesmo dia. Isso realmente não foi saudável!

Promoção Retake para Certificação Sun

Novembro 4, 2008 por blogprototipo

E acabou de chegar no meu e-mail: a promoção está de volta, SCJP, SCWCD, etc… tudo com Retake.

Você faz uma prova, se não passar, pode fazer outra sem custo adicional.

Isso é muito bom, porque dá mais segurança. Claro que é pra tentar passar na primeira! Eu já vou comprar pra minha próxima certificação Java, a SCJD!

Aproveitem!!

Retake Certificacao