{"id":906,"date":"2019-02-17T18:12:55","date_gmt":"2019-02-17T09:12:55","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=906"},"modified":"2019-07-03T00:05:55","modified_gmt":"2019-07-02T15:05:55","slug":"trayicon-blink","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/th\/\u0e1a\u0e25\u0e47\u0e2d\u0e01\/java\/\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a","title":{"rendered":"\u0e41\u0e2a\u0e14\u0e07\/\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19 Java"},"content":{"rendered":"<h2><a name=\"0\">\u0e43\u0e19\u0e0a\u0e27\u0e32<strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>(<strong>\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a<\/strong>) \u0e44\u0e2d\u0e04\u0e2d\u0e19<strong>\u0e08\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\/\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<\/strong><\/a><\/h2>\n<p>\u0e43\u0e19\u0e0a\u0e27\u0e32<strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>(<strong>\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a<\/strong>) \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e41\u0e25\u0e30\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<\/p>\n<p>\u0e04\u0e25\u0e32\u0e2a\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e43\u0e2b\u0e21\u0e48\u0e17\u0e35\u0e48\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e43\u0e19 Java SE 6 Mustang <strong>java.awt.SystemTray<\/strong> ,<strong>java.awt.TrayIcon<\/strong> \u0e43\u0e0a\u0e49\u0e04\u0e25\u0e32\u0e2a. \u0e19\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e22\u0e31\u0e07\u0e08\u0e30\u0e41\u0e19\u0e30\u0e19\u0e33\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e27\u0e34\u0e18\u0e35\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<\/p>\n<h3><a name=\"1\">\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a (\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19)<\/a><\/h3>\n<p>\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a (\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19) \u0e04\u0e37\u0e2d\u0e41\u0e16\u0e27\u0e02\u0e2d\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e02\u0e19\u0e32\u0e14\u0e40\u0e25\u0e47\u0e01\u0e17\u0e35\u0e48\u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e25\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e43\u0e19 Java SE 6 \u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e25\u0e32\u0e2a\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a<\/p>\n<ul>\n<li><strong>java.awt.SystemTray<\/strong><br \/>\n\u0e04\u0e25\u0e32\u0e2a SystemTray \u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b<\/li>\n<li><strong>java.awt.TrayIcon<\/strong><br \/>\n\u0e27\u0e31\u0e15\u0e16\u0e38 TrayIcon \u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a\u0e44\u0e14\u0e49<\/li>\n<\/ul>\n<h3>\u0e27\u0e34\u0e18\u0e35\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<\/h3>\n<p>\u0e04\u0e38\u0e13\u0e2d\u0e32\u0e08\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e44\u0e0b\u0e15\u0e4c\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e43\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07<br \/>\n<a href=\"https:\/\/www.bannerkoubou.com\/anime\/\" target=\"_blank\"><strong>https:\/\/www.bannerkoubou.com\/anime\/<\/strong><\/a><\/p>\n<h2 class=\"common_title\"><a name=\"3\">\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07<\/a><\/h2>\n<p><img src=\"https:\/\/chat-messenger.com\/images\/task_tray.jpg\" alt=\"\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19 \u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a java.awt.SystemTray java.awt.TrayIcon\" border=\"0\"><br \/>\n<br clear=\"all\"><\/p>\n<p>\n\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e43\u0e0a\u0e49\u0e04\u0e25\u0e32\u0e2a\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a TaskTrayUtil \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n<ol>\n<li>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>\u0e16\u0e36\u0e07<strong>\u0e44\u0e2d\u0e04\u0e2d\u0e19<\/strong>\u0e41\u0e2a\u0e14\u0e07.\n<\/li>\n<li>\u0e04\u0e25\u0e34\u0e01 [\u0e1b\u0e38\u0e48\u0e21\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a] \u0e40\u0e1e\u0e37\u0e48\u0e2d<strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e08\u0e30\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\n\t\u0e1a\u0e2d\u0e25\u0e25\u0e39\u0e19\u0e22\u0e31\u0e07\u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21 \u201c\u0e1e\u0e32\u0e09\u0e31\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48!!\u201d<\/li>\n<li>\u0e04\u0e25\u0e34\u0e01 [\u0e1b\u0e38\u0e48\u0e21\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01] \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<\/li>\n<li><strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>\u0e04\u0e25\u0e34\u0e01\u0e0b\u0e49\u0e32\u0e22\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27\u0e17\u0e35\u0e48\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e2b\u0e25\u0e31\u0e01\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e1a\u0e19\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b<\/li>\n<li><strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>\u0e04\u0e25\u0e34\u0e01\u0e02\u0e27\u0e32\u0e17\u0e35\u0e48\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e21\u0e19\u0e39 PopupMenu \u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/li>\n<li>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e2b\u0e25\u0e31\u0e01\u0e22\u0e48\u0e2d\u0e40\u0e25\u0e47\u0e01\u0e2a\u0e38\u0e14<strong>\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<\/strong>\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e43\u0e19.<\/li>\n<\/ol>\n<h2 class=\"common_title\"><a name=\"4\">\u0e23\u0e31\u0e1a\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e42\u0e04\u0e49\u0e14<\/a><\/h2>\n<p><script type=\"text\/javascript\" src=\"https:\/\/chat-messenger.com\/js\/common.js?dd12sssas2223\" charset=\"UTF-8\"><\/script><br \/>\n<script type=\"text\/javascript\"> writePR(); <\/script><\/p>\n<p>\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e42\u0e04\u0e49\u0e14\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07 \u0e19\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e33\u0e01\u0e32\u0e23\u0e04\u0e2d\u0e21\u0e44\u0e1e\u0e25\u0e4c \u0e42\u0e1b\u0e23\u0e14\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e43\u0e19\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e42\u0e04\u0e49\u0e14<\/p>\n<ul>\n<li><strong>\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e1b\u0e01\u0e15\u0e34<\/strong>\u3000<a href=\"https:\/\/chat-messenger.com\/images\/tray_icon.gif\" target=\"_blank\"><img src=\"https:\/\/chat-messenger.com\/images\/tray_icon.gif\" alt=\"\" border=\"0\"><\/a><\/li>\n<li><strong>\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<\/strong>\u3000<a href=\"https:\/\/chat-messenger.com\/images\/tray_icon_light.gif\" target=\"_blank\"><img src=\"https:\/\/chat-messenger.com\/images\/tray_icon_light.gif\" alt=\"\" border=\"0\"><\/a><\/li>\n<\/ul>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">import java.awt.AWTException;<br \/>\nimport java.awt.Dimension;<br \/>\nimport java.awt.FlowLayout;<br \/>\nimport java.awt.Image;<br \/>\nimport java.awt.MenuItem;<br \/>\nimport java.awt.PopupMenu;<br \/>\nimport java.awt.SystemTray;<br \/>\nimport java.awt.TrayIcon;<br \/>\nimport java.awt.event.ActionEvent;<br \/>\nimport java.awt.event.ActionListener;<br \/>\nimport java.awt.event.MouseAdapter;<br \/>\nimport java.awt.event.MouseEvent;<br \/>\nimport java.awt.event.MouseListener;<br \/>\nimport java.awt.event.WindowAdapter;<br \/>\nimport java.awt.event.WindowEvent;<br \/>\nimport java.awt.event.WindowListener;<\/p>\n<p>\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.swing.ImageIcon;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.swing.JButton;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.swing.JFrame;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.swing.JPanel;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.swing.SwingUtilities;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.swing.UIManager;<\/p>\n<p>\/**<br \/>\n * \u0e41\u0e2a\u0e14\u0e07 \/ \u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19 (\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a) \u0e43\u0e19 Java<br \/>\n *<br \/>\n * \u25c6 \u0e20\u0e32\u0e1e\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e23\u0e35\u0e22\u0e19\u0e19\u0e35\u0e49<br \/>\n * \u0e04\u0e25\u0e32\u0e2a TaskTray \u0e40\u0e1b\u0e47\u0e19\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49\u0e17\u0e35\u0e48\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n * \u0e21\u0e35\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:<br \/>\n * \u30fb\u0e41\u0e2a\u0e14\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n * - \u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e4a\u0e2d\u0e1b\u0e2d\u0e31\u0e1b\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n * - \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19\u0e01\u0e23\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\n *<br \/>\n * \u25c6 \u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<br \/>\n * \u0e2a\u0e48\u0e07\u0e04\u0e25\u0e32\u0e2a JFrame \u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e2d\u0e32\u0e23\u0e4c\u0e01\u0e34\u0e27\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07<br \/>\n * \u30fbcreateTray(JFrame targetFrame)<br \/>\n * \u30fbcreateTray (\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22 JFrame \u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22, \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e, \u0e40\u0e21\u0e19\u0e39 PopupMenu)<br \/>\n *<br \/>\n *\/<br \/>\nTaskTrayUtil \u0e04\u0e25\u0e32\u0e2a\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 {<br \/>\n    \u0e40\u0e1f\u0e23\u0e21 JFrame \u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27<br \/>\n    \u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 PopupMenu \u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48 defaultMenu;<br \/>\n    TrayIcon \u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 TrayIcon;<br \/>\n    \u0e16\u0e32\u0e14 SystemTray \u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 = SystemTray.getSystemTray();<br \/>\n    \u0e27\u0e31\u0e15\u0e16\u0e38\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 INSTANCE_LOCK = \u0e27\u0e31\u0e15\u0e16\u0e38\u0e43\u0e2b\u0e21\u0e48 ();<\/p>\n<p>    \/**<br \/>\n     * \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23<br \/>\n     * @param args<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 main (String [] args) {<br \/>\n      \u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21 {<br \/>\n          \/\/ \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 LookAndFeel \u0e40\u0e1b\u0e47\u0e19 Windows<br \/>\n          UIManager.setLookAndFeel(<br \/>\n                  UIManager.getSystemLookAndFeelClassName());<br \/>\n          \/\/ \u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e1b\u0e01\u0e15\u0e34<br \/>\n          \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22 img = ImageIcon \u0e43\u0e2b\u0e21\u0e48 (<br \/>\n                  TaskTrayUtil.class.getResource(<br \/>\n                          \u201ctray_icon.gif\u201d)).getImage();<br \/>\n          \u0e40\u0e1f\u0e23\u0e21 JFrame \u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22 =<br \/>\n              JFrame \u0e43\u0e2b\u0e21\u0e48 (&quot;\u0e41\u0e2a\u0e14\u0e07\/\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19&quot;);<br \/>\n          frame.setSize(300, 100);<br \/>\n          frame.setIconImage(img);<br \/>\n          \/\/ \u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e22\u0e48\u0e2d\u0e40\u0e25\u0e47\u0e01\u0e2a\u0e38\u0e14<br \/>\n          \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e25\u0e32\u0e2a WindowListener \u0e14\u0e31\u0e07\u0e23\u0e39\u0e1b<br \/>\n          frame.addWindowListener (WindowAdapter \u0e43\u0e2b\u0e21\u0e48 () {<br \/>\n              \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowIconified (WindowEvent e) {<br \/>\n                  frame.setVisible(\u0e40\u0e17\u0e47\u0e08);<br \/>\n              }<br \/>\n          });<\/p>\n<p>          JPanel jPanel = JPanel \u0e43\u0e2b\u0e21\u0e48();<br \/>\n          jPanel.setLayout(FlowLayout \u0e43\u0e2b\u0e21\u0e48());<br \/>\n          jPanel.setSize(\u0e21\u0e34\u0e15\u0e34\u0e43\u0e2b\u0e21\u0e48(219, 70));<br \/>\n          \/\/ \u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\n          \u0e20\u0e32\u0e1e\u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22 imgLight =<br \/>\n              ImageIcon \u0e43\u0e2b\u0e21\u0e48 (TaskTrayUtil.class.getResource(<br \/>\n                      \u201ctray_icon_light.gif\u201d)).getImage();<br \/>\n          JButton lightButton = JButton \u0e43\u0e2b\u0e21\u0e48 (\u201c\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u201d);<br \/>\n          lightButton.addActionListener (ActionListener \u0e43\u0e2b\u0e21\u0e48 () {<br \/>\n              \u0e01\u0e32\u0e23\u0e01\u0e23\u0e30\u0e17\u0e33\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23 (ActionEvent e) {<br \/>\n                  onAndOffLight(imgLight, null);<br \/>\n                  displayMessage(&quot;\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21&quot;, &quot;\u0e1e\u0e32\u0e09\u0e31\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48!!&quot;);<br \/>\n              }<br \/>\n          });<br \/>\n          JButton cancelButton = JButton \u0e43\u0e2b\u0e21\u0e48 (\u201c\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u201d);<br \/>\n          cancelButton.addActionListener (ActionListener \u0e43\u0e2b\u0e21\u0e48 () {<br \/>\n              \u0e01\u0e32\u0e23\u0e01\u0e23\u0e30\u0e17\u0e33\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23 (ActionEvent e) {<br \/>\n                  \u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e14\u0e49\u0e27\u0e22\u0e25\u0e1a (img);<br \/>\n              }<br \/>\n          });<br \/>\n          jPanel.add(lightButton, null);<br \/>\n          jPanel.add(\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21, null);<br \/>\n          frame.add(jPanel);<br \/>\n          \/\/ \u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25<br \/>\n          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br \/>\n          \/\/ \u0e41\u0e2a\u0e14\u0e07\u0e01\u0e23\u0e2d\u0e1a\u0e15\u0e23\u0e07\u0e01\u0e25\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d<br \/>\n          frame.setLocationRelativeTo(null);<br \/>\n          \/\/ \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n          TaskTrayUtil.createTray(\u0e40\u0e1f\u0e23\u0e21);<br \/>\n          frame.setVisible(\u0e08\u0e23\u0e34\u0e07);<\/p>\n<p>      } \u0e08\u0e31\u0e1a (\u0e02\u0e49\u0e2d\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e08) {<br \/>\n          e.printStackTrace();<br \/>\n      }<br \/>\n    }<br \/>\n    \/**<br \/>\n     *<br \/>\n     *\/<br \/>\n    \u0e04\u0e07\u0e17\u0e35\u0e48 {<br \/>\n        createPopupMenu();<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e21\u0e19\u0e39 PopupMenu \u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n     *\u0e21\u0e35\u0e40\u0e21\u0e19\u0e39\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<br \/>\n     * \u30fb&quot;\u0e19\u0e33\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19&quot;<br \/>\n     * \u0e22\u0e49\u0e32\u0e22\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22\u0e08\u0e32\u0e01\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b<br \/>\n     * \u0e40\u0e2d\u0e32\u0e21\u0e31\u0e19\u0e2d\u0e2d\u0e01.<br \/>\n     * (\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e41\u0e25\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e44\u0e27\u0e49\u0e14\u0e49\u0e32\u0e19\u0e2b\u0e19\u0e49\u0e32)<br \/>\n     * - \u0e22\u0e38\u0e15\u0e34\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e17\u0e35\u0e48\u0e08\u0e30\u0e22\u0e38\u0e15\u0e34<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 createPopupMenu () {<br \/>\n        MenuItem getTrayItem = new MenuItem(&quot;\u0e25\u0e1a\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19&quot;);<br \/>\n        getTrayItem.addActionListener (ActionListener \u0e43\u0e2b\u0e21\u0e48 () {<br \/>\n            \u0e01\u0e32\u0e23\u0e01\u0e23\u0e30\u0e17\u0e33\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23 (ActionEvent e) {<br \/>\n                \u0e04\u0e25\u0e48\u0e2d\u0e07\u0e41\u0e04\u0e25\u0e48\u0e27();<br \/>\n            }<br \/>\n        });<br \/>\n        MenuItem exitItem = MenuItem \u0e43\u0e2b\u0e21\u0e48 (\u201c\u0e2d\u0e2d\u0e01\u201d);<br \/>\n        exitItem.addActionListener (ActionListener \u0e43\u0e2b\u0e21\u0e48 () {<br \/>\n            \u0e01\u0e32\u0e23\u0e01\u0e23\u0e30\u0e17\u0e33\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23 (ActionEvent e) {<br \/>\n                \u0e25\u0e1aTrayIcon();<br \/>\n                TaskTrayUtil.frame.setVisible (\u0e40\u0e17\u0e47\u0e08);<br \/>\n                TaskTrayUtil.frame.dispose();<br \/>\n                System.\u0e2d\u0e2d\u0e01(0);<br \/>\n            }<br \/>\n        });<br \/>\n        defaultMenu = PopupMenu \u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n        defaultMenu.add(getTrayItem);<br \/>\n        defaultMenu.add(exitItem);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e41\u0e25\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a<br \/>\n     * \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Listener \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e1a\u0e19\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e40\u0e1b\u0e47\u0e19 targetFrame<br \/>\n     \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e43\u0e2b\u0e49 *.<br \/>\n     * \u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e14\u0e31\u0e1a\u0e40\u0e1a\u0e34\u0e25\u0e04\u0e25\u0e34\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14<br \/>\n     * \u0e41\u0e22\u0e01\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22<br \/>\n     * @param targetFrame \u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48 createTray (JFrame targetFrame) {<br \/>\n        createTray(\u0e01\u0e23\u0e2d\u0e1a\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22, null, null);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e41\u0e25\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a<br \/>\n     *<br \/>\n     * @param targetFrame \u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22<br \/>\n     * @param image \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e1a\u0e19\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14<br \/>\n     * \u0e2b\u0e32\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e27\u0e48\u0e32\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01 targetFrame \u0e14\u0e49\u0e27\u0e22 getIconImage()<br \/>\n     * \u0e43\u0e0a\u0e49\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e<br \/>\n     * \u0e40\u0e21\u0e19\u0e39 @param PopupMenu \u0e17\u0e35\u0e48\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n     * \u0e2b\u0e32\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e27\u0e48\u0e32\u0e07 \u0e43\u0e2b\u0e49\u0e41\u0e2a\u0e14\u0e07 PopupMenu \u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 createTray (JFrame \u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22 targetFrame, \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e,<br \/>\n            \u0e40\u0e21\u0e19\u0e39\u0e1b\u0e4a\u0e2d\u0e1b\u0e2d\u0e31\u0e1e\u0e40\u0e21\u0e19\u0e39) {<br \/>\n        \/\/ \u0e2d\u0e2d\u0e01\u0e2b\u0e32\u0e01\u0e44\u0e21\u0e48\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a<br \/>\n        \u0e16\u0e49\u0e32 (!SystemTray.isSupported()) {<br \/>\n            \u0e01\u0e25\u0e31\u0e1a;<br \/>\n        }<br \/>\n        TaskTrayUtil.frame = targetFrame;<br \/>\n        \u0e16\u0e49\u0e32 (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e == null) {<br \/>\n            \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e = targetFrame.getIconImage();<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (\u0e40\u0e21\u0e19\u0e39 == null) {<br \/>\n            \u0e40\u0e21\u0e19\u0e39 = \u0e40\u0e21\u0e19\u0e39\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19;<br \/>\n        }<br \/>\n        TrayIcon = TrayIcon \u0e43\u0e2b\u0e21\u0e48 (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e, targetFrame.getTitle(), \u0e40\u0e21\u0e19\u0e39);<br \/>\n        TrayIcon.setImageAutoSize(\u0e08\u0e23\u0e34\u0e07);<br \/>\n        TrayIcon.addMouseListener (MouseAdapter \u0e43\u0e2b\u0e21\u0e48 () {<br \/>\n            \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 mouseClicked (MouseEvent e) {<br \/>\n                \u0e16\u0e49\u0e32 (SwingUtilities.isLeftMouseButton (e)) {<br \/>\n                    \u0e04\u0e25\u0e48\u0e2d\u0e07\u0e41\u0e04\u0e25\u0e48\u0e27();<br \/>\n                }<br \/>\n            }<br \/>\n        });<br \/>\n        \u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21 {<br \/>\n            \u0e16\u0e32\u0e14.\u0e40\u0e1e\u0e34\u0e48\u0e21(trayIcon);<br \/>\n        } \u0e08\u0e31\u0e1a (AWTException e1) {<br \/>\n            e1.printStackTrace();<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e25\u0e1a\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n     * \u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e2d\u0e2d\u0e01<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48 RemoveTrayIcon () {<br \/>\n        Tray.remove(\u0e16\u0e32\u0e14\u0e44\u0e2d\u0e04\u0e2d\u0e19);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\n     * @param msg \u0e2b\u0e32\u0e01\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e25\u0e34\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\n     * \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e17\u0e35\u0e48\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 onAndOffLight (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e lightImg, String msg) {<br \/>\n        \u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e (lightImg);<br \/>\n        ChangeLightImgAdapter \u0e1b\u0e23\u0e31\u0e1a =<br \/>\n            \u0e43\u0e2b\u0e21\u0e48 TaskTrayUtil().new ChangeLightImgAdapter(\u0e1c\u0e07\u0e0a\u0e39\u0e23\u0e2a);<br \/>\n        TrayIcon.addMouseListener(\u0e2d\u0e30\u0e41\u0e14\u0e1b\u0e40\u0e15\u0e2d\u0e23\u0e4c);<br \/>\n        frame.addWindowListener(\u0e2d\u0e30\u0e41\u0e14\u0e1b\u0e40\u0e15\u0e2d\u0e23\u0e4c);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n     * \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e @param \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e) {<br \/>\n        \u0e0b\u0e34\u0e07\u0e42\u0e04\u0e23\u0e44\u0e19\u0e0b\u0e4c (INSTANCE_LOCK) {<br \/>\n            \u0e16\u0e49\u0e32 (!image.equals(trayIcon.getImage())) {<br \/>\n                TrayIcon.setImage (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e);<br \/>\n            }<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n     * *\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e40\u0e2b\u0e15\u0e38\u0e1c\u0e25\u0e1a\u0e32\u0e07\u0e1b\u0e23\u0e30\u0e01\u0e32\u0e23<br \/>\n     * \u0e14\u0e39\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e27\u0e48\u0e32\u0e08\u0e30\u0e44\u0e23\u0e49\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e0a\u0e19\u0e4c\u0e40\u0e27\u0e49\u0e19\u0e41\u0e15\u0e48\u0e04\u0e38\u0e13\u0e08\u0e30\u0e25\u0e1a\u0e21\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22 {@link SystemTray#remove(TrayIcon)})<br \/>\n     * \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e @param \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48ImageWithDelete (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e) {<br \/>\n        \u0e0b\u0e34\u0e07\u0e42\u0e04\u0e23\u0e44\u0e19\u0e0b\u0e4c (INSTANCE_LOCK) {<br \/>\n            \u0e16\u0e49\u0e32 (!image.equals(trayIcon.getImage())) {<br \/>\n                Tray.remove(\u0e16\u0e32\u0e14\u0e44\u0e2d\u0e04\u0e2d\u0e19);<br \/>\n                TrayIcon.setImage (\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e);<br \/>\n                \u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21 {<br \/>\n                    \u0e16\u0e32\u0e14.\u0e40\u0e1e\u0e34\u0e48\u0e21(trayIcon);<br \/>\n                } \u0e08\u0e31\u0e1a (\u0e02\u0e49\u0e2d\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e08) {<br \/>\n                    e.printStackTrace();<br \/>\n                }<br \/>\n            }<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e4a\u0e2d\u0e1b\u0e2d\u0e31\u0e1b\u0e43\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n     * @param \u0e04\u0e33\u0e1a\u0e23\u0e23\u0e22\u0e32\u0e22\u0e20\u0e32\u0e1e<br \/>\n     * \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21 @param<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48 displayMessage (\u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e2a\u0e15\u0e23\u0e34\u0e07 \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e15\u0e23\u0e34\u0e07) {<br \/>\n        \u0e16\u0e49\u0e32 (\u0e04\u0e33\u0e1a\u0e23\u0e23\u0e22\u0e32\u0e22\u0e20\u0e32\u0e1e != null || \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21 != null) {<br \/>\n            TrayIcon.displayMessage (\u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e20\u0e32\u0e1e \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21<br \/>\n                    TrayIcon.MessageType.INFO);<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e22\u0e49\u0e32\u0e22\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22\u0e08\u0e32\u0e01\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e40\u0e14\u0e2a\u0e01\u0e4c\u0e17\u0e47\u0e2d\u0e1b<br \/>\n     * \u0e40\u0e2d\u0e32\u0e21\u0e31\u0e19\u0e2d\u0e2d\u0e01.<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48 () {<br \/>\n        \/\/ \u0e04\u0e37\u0e19\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e40\u0e1f\u0e23\u0e21\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e1b\u0e01\u0e15\u0e34<br \/>\n        TaskTrayUtil.frame.setExtensedState(JFrame.NORMAL);<br \/>\n        TaskTrayUtil.frame.setAlwaysOnTop (\u0e08\u0e23\u0e34\u0e07);<br \/>\n        TaskTrayUtil.frame.setVisible (\u0e08\u0e23\u0e34\u0e07);<br \/>\n        TaskTrayUtil.frame.setAlwaysOnTop(\u0e40\u0e17\u0e47\u0e08);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a<br \/>\n     * \u0e0a\u0e31\u0e49\u0e19\u0e40\u0e23\u0e35\u0e22\u0e19\u0e1c\u0e39\u0e49\u0e1f\u0e31\u0e07<br \/>\n     *\/<br \/>\n    \u0e04\u0e25\u0e32\u0e2a ChangeLightImgAdapter \u0e43\u0e0a\u0e49 WindowListener, MouseListener {<br \/>\n        \u0e2a\u0e32\u0e22\u0e44\u0e1f ImageText;<\/p>\n<p>        ChangeLightImgAdapter \u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 (String lightImageText) {<br \/>\n            this.lightImageText = lightImageText;<br \/>\n        }<\/p>\n<p>        \/**<br \/>\n         * \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e25\u0e34\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19<br \/>\n         * \u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e4a\u0e2d\u0e1b\u0e2d\u0e31\u0e1e<br \/>\n         *\/<br \/>\n        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 mousePressed (MouseEvent e) {<br \/>\n            TaskTrayUtil.displayMessage (null, lightImageText);<br \/>\n        }<\/p>\n<p>        \/**<br \/>\n         * \u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e23\u0e34\u0e48\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19<br \/>\n         * \u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e2a\u0e48\u0e07\u0e04\u0e37\u0e19<br \/>\n         *\/<br \/>\n        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowActivated (WindowEvent e) {<br \/>\n            TaskTrayUtil.replaceImageWithDelete(TaskTrayUtil.frame<br \/>\n                    .getIconImage());<br \/>\n            TaskTrayUtil.frame.removeWindowListener (\u0e2a\u0e34\u0e48\u0e07\u0e19\u0e35\u0e49);<br \/>\n            TaskTrayUtil.trayIcon.removeMouseListener (\u0e19\u0e35\u0e49);<br \/>\n        }<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowClosed (WindowEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowClosing (WindowEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowDeactivated (WindowEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowDeiconified (WindowEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowIconified (WindowEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 windowOpened (WindowEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 mouseClicked (MouseEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 mouseEntered (MouseEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 mouseExited (MouseEvent e) {}<\/p>\n<p>        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 mouseReleased (MouseEvent e) {}<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><\/p>","protected":false},"excerpt":{"rendered":"<p>\u0e41\u0e2a\u0e14\u0e07\/\u0e01\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e16\u0e32\u0e14\u0e07\u0e32\u0e19 (\u0e16\u0e32\u0e14\u0e23\u0e30\u0e1a\u0e1a) \u0e43\u0e19 Java [\u2026]<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts\/906"}],"collection":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/comments?post=906"}],"version-history":[{"count":14,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts\/906\/revisions"}],"predecessor-version":[{"id":3679,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts\/906\/revisions\/3679"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/media?parent=906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/categories?post=906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/tags?post=906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}