See More

package com.server; import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.Image; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Collections; import java.util.HashMap; import java.util.Map; import javax.swing.Box; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.ScrollPaneConstants; import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; import com.server.control.NewWatchFrame; import com.server.util.GenerateDate; public class Server_Frame extends JFrame { private static final long serialVersionUID = 1L; private static JPanel p1 = new JPanel(new GridLayout(1, 10)); // ¶¨ÒåÒ»¸öÖмäÈÝÆ÷£¬´æ·Å¶¥²¿9¸ö°´Å¥+1¸ö±êÇ© private static JButton[] btn = new JButton[13];// Ϊ13¸ö°´Å¥Ìí¼ÓÏûÏ¢Ìáʾ private static JLabel label = new JLabel(" ´Ë´¦ÏÔʾʱ¼ä"); // ÏÔʾʱ¼äµÄ±êÇ© private static JPanel p2 = new JPanel(); private static Box box = Box.createVerticalBox(); private static JPanel p3 = new JPanel(new BorderLayout()); private static JPanel p4 = new JPanel(new BorderLayout());// ´æµÚ1¸öÎı¾¿ò private static JTextArea textArea01 = new JTextArea(5, 40);// ¶¨ÒåµÚ2¸ö£¬µÚ3¸öÎı¾¿ò private static JTextArea textArea02 = new JTextArea(3, 6); private static JTextArea textArea03 = new JTextArea(5, 55); private static Box box01 = Box.createVerticalBox(); private static Box box02 = Box.createHorizontalBox(); private static JButton bt01 = new JButton("·¢ËÍÖÁÈ«Ìå³ÉÔ±");// ¶¨ÒåÁ½¸ö·Å°´Å¥ private static JButton bt02 = new JButton("·¢ËÍ"); private static JPanel p5 = new JPanel(); private static JPanel p6 = new JPanel(new GridLayout()); private static String[] message = new String[] { "ÊÓÆµÂ¼Ïñ", "ѧÉúÐÅÏ¢", "ÆÁÄ»¼à¿Ø", "Ëø×¡¿Í»§»ú", "µãÃûÇ©µ½", "Ô¶³Ì¿ØÖÆ", "·Å´óѧÉúÆÁÄ»", "Îļþ·Ö·¢", "ÏûÏ¢·¢ËÍ", "×Ü¿ª¹Ø", "", "", "ÉèÖÃ" };// ÉèÖð´Å¥ÌáʾÐÅÏ¢ /* * ´æ·Å52¸ö°´Å¥ÓëÆä±êʶµÄMapÊý×é Ïß³Ìͬ²½µÄ */ public static Map btMap = Collections.synchronizedMap(new HashMap()); /* * µã»÷°´Å¥µÄ±êʶ */ public static int clickedNum = -1; /* * ·Å´óȨÏÞ */ public static boolean isLarge = false; /* * ¼à¿Ø¹¦ÄÜȨÏÞ */ public static boolean isMonitor = false; /* * getter\setter */ public static JButton[] bt = new JButton[52]; private SystemTray tray; private TrayIcon trayIcon; /** * @return the textArea03 */ public static JTextArea getTextArea03() { return textArea03; } /** * @param textArea03 * the textArea03 to set */ public static void setTextArea03(JTextArea textArea03) { Server_Frame.textArea03 = textArea03; } // ³õʼ»¯´°¿Úº¯Êý public Server_Frame() throws Exception { // ÉèÖô°Ìå±êÌâ this.setTitle("Ô¶³Ì×ÀÃæ¼à¿ØÏµÍ³"); // ÉèÖô°Ìå´óС this.setSize(1331, 736); /* * ÉèÖô°¿Ú´¦ÓÚÆÁÄ»ÕýÖмä */ Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); // »ñÈ¡ÆÁÄ»É豸µÄ¿í¶È int width = (int) d.getWidth();// 1366 // »ñÈ¡ÆÁÄ»É豸µÄ¸ß¶È int height = (int) d.getHeight();// 768 // ÉèÖô°Ìå´¦ÓÚÕýÖмä this.setLocation((width - 1331) / 2, (height - 736) / 2); /* * ÉèÖóÌÐòÔËÐеÄͼ±ê */ Toolkit tk = Toolkit.getDefaultToolkit(); Image img = tk.getImage(this.getClass().getResource("/images/0.png")); this.setIconImage(img); // ÉèÖô°¿Ú¹Ø±Õʼþ¼àÌý addWindowListener(new WindowAdapter() { // public void windowClosing(WindowEvent e) { // // // ½«ÍÐÅÌͼ±êÌí¼Óµ½ÏµÍ³µÄÍÐÅÌʵÀýÖÐ // // try { // // tray.add(trayIcon); // // System.out.println("¹Ø±Õ"); // //µ±Ç°´°¿Ú¹Ø±Õ // Server_Frame.this.setVisible(false); // // } catch (AWTException e1) { // // e1.printStackTrace(); // // } // // } // }); /* * ÉèÖÃÍÐÅÌ */ if (SystemTray.isSupported()) { System.out.println("µ÷ ÓÃtray"); tray(); } // ·Ö±ð´´½¨9¸öÉϱêÌâ°´Å¥ for (int i = 0; i < 9; i++) { btn[i] = new JButton(new Font(message[i],Font.ITALIC,10).getName(), new ImageIcon(this.getClass().getResource("/images/" + i + ".png"))); btn[i].setVerticalTextPosition(JButton.BOTTOM); btn[i].setHorizontalTextPosition(JButton.CENTER); btn[i].setIconTextGap(10); p1.add(btn[i]); btn[i].setToolTipText(message[i]); } p1.add(label); p2.setBorder(new TitledBorder(new EtchedBorder(), "Óû§Áбí")); /* * ´´½¨×ó±ßµÄ4¸ö°´Å¥ */ for (int i = 9; i < btn.length; i++) { btn[i] = new JButton(new ImageIcon(this.getClass().getResource("/images/" + i + ".png"))); box.add(Box.createHorizontalStrut(1)); box.add(btn[i]); btn[i].setToolTipText(message[i]); } /* * Ϊp2Ìí¼Ó¹ö¶¯Ìõ Ϊ52¸ö°´Å¥Ìí¼ÓÌáʾ */ p2.setLayout(new GridLayout(13, 2)); for (int i = 0; i < bt.length; i++) { bt[i] = new JButton((i + 1) + "ºÅ»ú", new ImageIcon(this.getClass().getResource("/images/huaji.png"))); bt[i].setToolTipText((i + 1) + " ºÅ µç ÄÔ "); bt[i].setVerticalTextPosition(JButton.BOTTOM); bt[i].setHorizontalTextPosition(JButton.CENTER); bt[i].setIconTextGap(90); p2.add(bt[i]); } /* * Ϊp2Ìí¼Ó¹ö¶¯Ìõ */ JScrollPane js_p2 = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); js_p2.setViewportView(p2); p2.setPreferredSize(new Dimension(400, 2800)); p2.revalidate(); p3.add(js_p2, BorderLayout.CENTER); p3.add(box, BorderLayout.EAST); p4.setBorder(new TitledBorder(new EtchedBorder(), "ÐÅÏ¢¹ÜÀí")); textArea01.setLineWrap(true); textArea01.setWrapStyleWord(true); JScrollPane js_01 = new JScrollPane(textArea01); textArea02.setLineWrap(true); textArea02.setWrapStyleWord(true); JScrollPane js_02 = new JScrollPane(textArea02); box02.add(bt01); box02.add(Box.createHorizontalStrut(10)); box02.add(bt02); box01.add(js_02); box01.add(box02); /* * ÉèÖò¼¾Ö */ p4.add(js_01, BorderLayout.WEST); p4.add(box01, BorderLayout.EAST); p5.setBorder(new TitledBorder(new EtchedBorder(), "Óû§¼Ç¼")); /* * Îı¾¿ò */ // ÉèÖÃ×Ô¶¯»»ÐС¢×Ô¶¯»»×Ö¹¦ÄÜ textArea03.setLineWrap(true); textArea03.setWrapStyleWord(true); textArea03.setEditable(false); JScrollPane js_03 = new JScrollPane(textArea03); p5.add(js_03); // ´æµÚp4,p5 p6.add(p4); p6.add(p5); /* * ¸ø52¸ö°´Å¥×ö¸öÓ³Éä ÿ¸ö°´Å¥ÐòºÅ¶ÔÓ¦´Ó1~52 */ for (int i = 0; i < bt.length; i++) { btMap.put(bt[i], i + 1); bt[i].setEnabled(false); } /* * ½«Èý¸öÈÝÆ÷Ìí¼Óµ½JFrameÖÐ */ this.add(p1, BorderLayout.NORTH); this.add(p3, BorderLayout.CENTER); this.add(p6, BorderLayout.SOUTH); componentListener(); // ÉèÖô°ÌåÏÔʾ³öÀ´ this.setVisible(true); // ÉèÖô°¿Ú²»ÄÜÐ޸ĴóС this.setResizable(false); // ÉèÖÿÉÒÔµã»÷¹Ø±Õ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void tray() { // »ñµÃ±¾²Ù×÷ϵͳÍÐÅ̵ÄʵÀý tray = SystemTray.getSystemTray(); // ÏÔʾÔÚÍÐÅÌÖеÄͼ±ê ImageIcon icon = new ImageIcon(this.getClass().getResource("/images/1.png")); // ¹¹ÔìÒ»¸öÓÒ¼üµ¯³öʽ²Ëµ¥ PopupMenu pop = new PopupMenu(); MenuItem file = new MenuItem("·¢ËÍÎļþ"); MenuItem screen = new MenuItem("·Å´óѧÉúÆÁÄ»"); MenuItem monitor = new MenuItem("¿ªÆô¼à¿Ø"); MenuItem exit = new MenuItem("¹Ø±Õ·þÎñ"); pop.add(monitor); pop.addSeparator(); pop.add(file); pop.addSeparator(); pop.add(screen); pop.addSeparator(); pop.add(exit); pop.addSeparator(); trayIcon = new TrayIcon(icon.getImage(), "ʵÑéÊÒµç×Ó½Ìѧ¼à¿ØÏµÍ³£¨·þÎñ¶Ë£©", pop); // Õâ¾äºÜÖØÒª£¬Ã»ÓлᵼÖÂͼƬÏÔʾ²»³öÀ´ trayIcon.setImageAutoSize(true); /* * µã»÷ÓÒϽÇͼ±êµÄʼþ */ trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { trayIcon.setImageAutoSize(true); Server_Frame.this.setVisible(true); } } }); try { tray.add(trayIcon); } catch (AWTException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tray.remove(trayIcon); System.exit(0); } }); } public void componentListener() { /* * ×îС»¯Ê±Òþ²Ø¸Ã´°¿Ú */ this.addWindowListener(new WindowAdapter() { @Override public void windowIconified(WindowEvent e) { super.windowIconified(e); Server_Frame.this.setVisible(false); } }); this.addWindowFocusListener(new WindowAdapter() { @Override public void windowClosed(WindowEvent e) { System.exit(0); } }); /* * µã»÷¸Ã°´Å¥±íʾ¿ªÆôÁË¼à¿Ø¹¦ÄÜ */ btn[2].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { for (int i = 0; i < bt.length; i++) { bt[i].setEnabled(true); } isMonitor = true; Server_Frame.getTextArea03().append(GenerateDate.getDate() + "ÆÁÄ»¼à¿ØÒÑ¿ªÆô£¡\n"); JOptionPane.showMessageDialog(null, "ÆÁÄ»¼à¿ØÒÑ¿ªÆô£¡"); } }); /* * Éæ¼°µÄ±äÁ¿Îª£ºisLarge */ btn[6].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { isLarge = true; JOptionPane.showMessageDialog(null, "·Å´ó¹¦ÄÜÒÑ¿ªÆô£¡"); Server_Frame.getTextArea03().append(GenerateDate.getDate() + "·Å´ó¹¦ÄÜÒÑ¿ªÆô£¡\n"); } }); btn[7].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { /* * ÏÈ¿ªÆô¼à¿Ø¹¦ÄܲÅÄÜ·¢Îļþ */ if (!isMonitor) { JOptionPane.showMessageDialog(null, "ÇëÏÈ¿ªÆô¼à¿Ø¹¦ÄÜ£¡Ã´Ã´ßÕ£¡"); } else if (Server.ipMap.size() <= 0) { JOptionPane.showMessageDialog(null, "·Ö·¢Îļþ±ØÐëÖÁÉÙÓÐһ̨ѧÉúµçÄÔÁ¬½ÓÉÏ"); } else { Server.fileFlag = true; Server_Frame.getTextArea03().append("true"); } } }); /* * 52¸ö°´Å¥,Èç¹û·Å´ó¹¦ÄÜÔÊÐí */ for (int i = 0; i < bt.length; i++) { bt[i].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (isMonitor == true) { clickedNum = btMap.get(e.getSource()); if (isLarge == true) { /* * »ñÈ¡°´Å¥µã»÷Ô´Í·¶ÔÓ¦µÄÐòºÅ1~52 */ /* * Èç¹û¸ÃµçÄÔδÁ¬½Ó */ if (clickedNum > Server.ipMap.size()) { Server_Frame.getTextArea03() .append(GenerateDate.getDate() + clickedNum + " ºÅ µç ÄÔ Î´ Á´ ½Ó £¡\n"); } else { new NewWatchFrame(); } } else { if (clickedNum > Server.ipMap.size()) { Server_Frame.getTextArea03() .append(GenerateDate.getDate() + clickedNum + " ºÅ µç ÄÔ Î´ Á´ ½Ó £¡\n"); } else { JOptionPane.showMessageDialog(null, "ÇëÏÈ¿ªÆô·Å´ó¹¦ÄÜ£¡Ã´Ã´ßÕ£¡"); Server_Frame.getTextArea03().append(GenerateDate.getDate() + "ÇëÏÈ¿ªÆô·Å´ó¹¦ÄÜ£¡\n"); } } } else { JOptionPane.showMessageDialog(null, "ÇëÏÈ¿ªÆô¼à¿Ø¹¦ÄÜ£¡"); } } }); } /* * ·¢ËÍÈ«Ìå³ÉÔ±°´Å¥ */ bt01.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { label.setText("ÄãºÃ"); } }); /* * ·¢ËͰ´Å¥ */ bt02.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { Server_Frame.getTextArea03().append("·¢ËÍ\n"); } }); } }