Desenvolvedor e Analista de Sistemas | IFPA

terça-feira, 24 de junho de 2014

Minimizar aplicação para barra de tarefas - JAVA

com 0 Comentário
Vocês já devem ter visto muitos programas que quando clicamos no botão de fechar ou minimizar, ao invés de sair da aplicação vão para a barra de tarefas. Os mais curiosos devem se perguntar como implementar uma solução dessas. Vou responder, é algo muito fácil. E é isso que vou ensiná-los hoje!

Apesar de parecer muito código, verão que a parte que realmente nos interessa para a minimização é pequena, mas para fins de demonstração tive que criar uma Janela.


Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. public class Janela extends JFrame{
  2.  
  3.     /**
  4.      * Construtor da classe.
  5.      * @param nome
  6.      */
  7.     public Janela(String nome) {
  8.         super(nome); // Coloca o título da Janela
  9.         setVisible(true); // Define a janela como visível
  10.         setBounds(50,50,370,150); // Define o tamanho e posição da tela
  11.         setDefaultCloseOperation(HIDE_ON_CLOSE); // Define o modo de fechamento
  12.         setResizable(false); // Define como não redimensionável
  13.     }
  14.  
  15.     public static void main(String[] args) {
  16.         // Instancia nova janela
  17.         final Janela main = new Janela("Janela de Testes");
  18.  
  19.         // Instancia um novo SystemTray
  20.         SystemTray tray = SystemTray.getSystemTray();
  21.  
  22.         /**
  23.          *  Pega uma imagem para definir como ícone.
  24.          *
  25.          *  main.getClass().getClassLoader().getResource("icone.jpg")
  26.          *  pega a imagem do pacote onde a Classe se encontra.
  27.          *  Será bem útil na hora de exportar a aplicação.
  28.          */
  29.         Image imageIcon = new ImageIcon((main.getClass()
  30.                                                 .getClassLoader()
  31.                                                 .getResource("icone.jpg")))
  32.                                                 .getImage();
  33.  
  34.         // Instancia e Define o icone do TrayIcon
  35.         TrayIcon trayIcon = new TrayIcon(imageIcon);
  36.  
  37.         // Define o auto-ajuste da imagem
  38.         trayIcon.setImageAutoSize(true);
  39.  
  40.         /**
  41.          * Instancia um mouse listener para ser usado no TrayIcon
  42.          */
  43.         MouseListener mlOpcoes = new MouseListener(){  
  44.  
  45.             public void mouseClicked(MouseEvent e) {}  
  46.  
  47.             public void mousePressed(MouseEvent e) {}  
  48.  
  49.             public void mouseReleased(MouseEvent e) {
  50.                 /**
  51.                  *  Se o mouse for clicado com a roda do mouse ou com
  52.                  *  o botão direito fechará a aplicação.
  53.                  */
  54.                 if(e.getButton() == 2 || e.getButton() == 3){
  55.                     System.exit(0);
  56.                 }
  57.             }  
  58.  
  59.             public void mouseEntered(MouseEvent e) {}  
  60.  
  61.             public void mouseExited(MouseEvent e) {}
  62.         };
  63.         // adiciona o mouseListener no TrayIcon
  64.         trayIcon.addMouseListener(mlOpcoes);
  65.  
  66.         try {
  67.             // Adiciona o Ícone no SystemTray
  68.             tray.add(trayIcon);
  69.         } catch (AWTException e) {}
  70.  
  71.     }
  72. }

+1

0 comentários :

Postar um comentário

Total de visualizações