亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? antitheftgui.java

?? tinyos-2.x.rar
?? JAVA
字號:
// $Id: AntiTheftGui.java,v 1.4 2007/04/04 22:30:22 idgay Exp $

/*									tab:4
 * "Copyright (c) 2000-2003 The Regents of the University  of California.  
 * All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose, without fee, and without written agreement is
 * hereby granted, provided that the above copyright notice, the following
 * two paragraphs and the author appear in all copies of this software.
 * 
 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
 * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
 * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
 *
 * Copyright (c) 2002-2007 Intel Corporation
 * All rights reserved.
 *
 * This file is distributed under the terms in the attached INTEL-LICENSE     
 * file. If you do not find these files, copies can be found by writing to
 * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, 
 * 94704.  Attention:  Intel License Inquiry.
 */


/**
 * Description:
 * The GUI for the AntiTheft application.
 *
 * @author Bret Hull
 * @author David Gay
 */

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import net.tinyos.message.*;
import net.tinyos.packet.*;
import net.tinyos.util.*;

public class AntiTheftGui implements MessageListener, Messenger {
    MoteIF mote; 		// For talking to the antitheft root node

    /* Various swing components we need to use after initialisation */
    JFrame frame;		// The whole frame
    JTextArea mssgArea;		// The message area
    JTextField fieldInterval;	// The requested check interval

    /* The checkboxes for the requested settings */
    JCheckBox detDarkCb, detAccelCb, repLedCb, repSirenCb, repServerCb,
	repNeighboursCb;

    public AntiTheftGui() {
	try {
	    guiInit();
	    /* Setup communication with the mote and request a messageReceived
	       callback when an AlertMsg is received */
	    mote = new MoteIF(this);
	    mote.registerListener(new AlertMsg(), this);
	}
	catch(Exception e) {
	    e.printStackTrace();
	    System.exit(2);
	}
    }

    /* Build up the GUI using Swing magic. Nothing very exciting here - the
       BagPanel class makes the code a bit cleaner/easier to read. */
    private void guiInit() throws Exception {
	JPanel mainPanel = new JPanel(new BorderLayout());
	mainPanel.setMinimumSize(new Dimension(500, 250));
	mainPanel.setPreferredSize(new Dimension(500, 300));

	/* The message area */
	JScrollPane mssgPanel = new JScrollPane();
	mssgPanel.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
	mssgPanel.setAutoscrolls(true);
	mssgArea = new JTextArea();
	mssgArea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 20));
	mainPanel.add(mssgPanel, BorderLayout.CENTER);
	mssgPanel.getViewport().add(mssgArea, null);
	
	/* The button area */
	BagPanel buttonPanel = new BagPanel();
	GridBagConstraints c = buttonPanel.c;

	c.fill = GridBagConstraints.HORIZONTAL;
	c.gridwidth = GridBagConstraints.REMAINDER;

	buttonPanel.makeLabel("Detection", JLabel.CENTER);
	c.gridwidth = GridBagConstraints.RELATIVE;
	detDarkCb = buttonPanel.makeCheckBox("Dark", true);
	c.gridwidth = GridBagConstraints.REMAINDER;
	detAccelCb = buttonPanel.makeCheckBox("Movement", false);
	buttonPanel.makeSeparator(SwingConstants.HORIZONTAL);


	buttonPanel.makeLabel("Theft Reports", JLabel.CENTER);
	c.gridwidth = GridBagConstraints.RELATIVE;
	repLedCb = buttonPanel.makeCheckBox("LED", true);
	c.gridwidth = GridBagConstraints.REMAINDER;
	repSirenCb = buttonPanel.makeCheckBox("Siren", false);
	c.gridwidth = GridBagConstraints.RELATIVE;
	repServerCb = buttonPanel.makeCheckBox("Server", false);
	c.gridwidth = GridBagConstraints.REMAINDER;
	repNeighboursCb = buttonPanel.makeCheckBox("Neighbours", false);
	buttonPanel.makeSeparator(SwingConstants.HORIZONTAL);

	buttonPanel.makeLabel("Interval", JLabel.CENTER);
	fieldInterval = buttonPanel.makeTextField(10, null);
	fieldInterval.setText(Integer.toString(Constants.DEFAULT_CHECK_INTERVAL));

	ActionListener settingsAction = new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		    updateSettings();
		}
	    };
	buttonPanel.makeButton("Update", settingsAction);

	mainPanel.add(buttonPanel, BorderLayout.EAST);

	/* The frame part */
	frame = new JFrame("AntiTheft");
	frame.setSize(mainPanel.getPreferredSize());
	frame.getContentPane().add(mainPanel);
	frame.setVisible(true);
	frame.addWindowListener(new WindowAdapter() {
		public void windowClosing(WindowEvent e) { System.exit(0); }
	    });
    }

    /* Add a message to the message area, auto-scroll to end */
    public synchronized void message(String s) {
	mssgArea.append(s + "\n");
	mssgArea.setCaretPosition(mssgArea.getDocument().getLength());
    }

    /* Popup an error message */
    void error(String msg) {
	JOptionPane.showMessageDialog(frame, msg, "Error",
				      JOptionPane.ERROR_MESSAGE);
    }

    /* User pressed the "Update" button. Read the GUI fields and
       send a SettingsMsg with the requested values. When the
       requested settings are bad, we silently update them to sane
       values. */
    public void updateSettings() { 
	SettingsMsg smsg = new SettingsMsg();
	short alert = 0;
	short detect = 0;
	int checkInterval = Constants.DEFAULT_CHECK_INTERVAL;

	/* Extract current interval value, fixing bad values */
	String intervalS = fieldInterval.getText().trim();
	try {
	    int newInterval = Integer.parseInt(intervalS);
	    if (newInterval < 10) throw new NumberFormatException();
	    checkInterval = newInterval;
	}
	catch (NumberFormatException e) { 
	    /* Reset field when value is bad */
	    fieldInterval.setText("" + checkInterval);
	}

	/* Extract alert settings */
	if (repLedCb.isSelected())
	    alert |= Constants.ALERT_LEDS;
	if (repSirenCb.isSelected())
	    alert |= Constants.ALERT_SOUND;
	if (repNeighboursCb.isSelected())
	    alert |= Constants.ALERT_RADIO;
	if (repServerCb.isSelected())
	    alert |= Constants.ALERT_ROOT;
	if (alert == 0) {
	    /* If nothing select, force-select LEDs */
	    alert = Constants.ALERT_LEDS;
	    repLedCb.setSelected(true);
	}

	/* Extract detection settings */
	if (detDarkCb.isSelected())
	    detect |= Constants.DETECT_DARK;
	if (detAccelCb.isSelected())
	    detect |= Constants.DETECT_ACCEL;
	if (detect == 0) {
	    /* If no detection selected, force-select dark */
	    detect = Constants.DETECT_DARK;
	    detDarkCb.setSelected(true);
	}

	/* Build and send settings message */
	smsg.set_alert(alert);
	smsg.set_detect(detect);
	smsg.set_checkInterval(checkInterval);
	try {
	    mote.send(MoteIF.TOS_BCAST_ADDR, smsg);
	}
	catch (IOException e) {
	    error("Cannot send message to mote");
	}
    }

    /* Message received from mote network. Update message area if it's
       a theft message. */
    public void messageReceived(int dest_addr, Message msg) {
	if (msg instanceof AlertMsg) {
	    AlertMsg alertMsg = (AlertMsg)msg;
	    message("Theft of " + alertMsg.get_stolenId());
	}
    }

    /* Just start the app... */
    public static void main(String[] args) {
	AntiTheftGui me = new AntiTheftGui();
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美色图| 成人av网站大全| 国产精品理伦片| 欧美日本在线观看| 成人激情小说网站| 免费美女久久99| 中文字幕在线不卡一区二区三区| 欧美一区二区网站| 91在线码无精品| 国内精品国产成人国产三级粉色| 亚洲婷婷国产精品电影人久久| 精品黑人一区二区三区久久| 欧美日韩在线播放一区| 91在线精品一区二区三区| 久久精品国产网站| 午夜精品久久久| 樱桃国产成人精品视频| 一区二区三区影院| 中文字幕不卡三区| 26uuu国产一区二区三区| 51精品秘密在线观看| 欧美在线观看一区| 一本大道久久a久久精品综合| 国产一区二区在线电影| 久久成人18免费观看| 五月天精品一区二区三区| 一区二区三区四区在线播放| 1区2区3区国产精品| 国产精品丝袜在线| 国产精品系列在线| 国产欧美精品一区| 欧美国产精品一区| 国产精品蜜臀av| 国产精品情趣视频| 国产精品家庭影院| 中文字幕制服丝袜成人av | 91国偷自产一区二区三区观看| 国产成人av一区二区三区在线观看| 另类专区欧美蜜桃臀第一页| 男男gaygay亚洲| 美女www一区二区| 蜜芽一区二区三区| 精品中文字幕一区二区小辣椒| 美女脱光内衣内裤视频久久网站 | 捆绑紧缚一区二区三区视频| 日韩精品免费视频人成| 日韩精品国产精品| 经典一区二区三区| 国产精品一二二区| 成人小视频免费在线观看| 国产精品一区三区| 成人一区二区三区视频| 99久久综合国产精品| 在线观看不卡一区| 在线不卡的av| 精品久久免费看| 欧美—级在线免费片| 国产精品亲子乱子伦xxxx裸| 亚洲免费大片在线观看| 亚洲成av人在线观看| 美女一区二区三区在线观看| 国产一区二区毛片| 欧美日韩视频在线观看一区二区三区| 色婷婷综合久久久中文一区二区| 欧美伊人久久大香线蕉综合69| 欧美日韩不卡一区二区| 精品国产乱码久久久久久久久| 中文字幕第一页久久| 亚洲尤物视频在线| 久久99精品国产91久久来源| 成人在线综合网站| 欧美日韩另类一区| 久久久午夜精品理论片中文字幕| 亚洲欧洲成人精品av97| 午夜精品免费在线| 国产精品资源在线看| 在线观看成人免费视频| 欧美mv日韩mv亚洲| 亚洲精品久久久久久国产精华液| 日本成人在线看| 成人精品小蝌蚪| 8x8x8国产精品| 国产精品毛片高清在线完整版| 一区二区三区资源| 国产制服丝袜一区| 欧美主播一区二区三区| 久久精品亚洲乱码伦伦中文| 亚洲在线观看免费视频| 国产黄色成人av| 欧美美女喷水视频| 国产精品免费视频一区| 日本女人一区二区三区| 一本色道久久综合狠狠躁的推荐| 亚洲精品在线网站| 亚洲国产日韩一区二区| 大白屁股一区二区视频| 日韩精品一区在线观看| 亚洲综合偷拍欧美一区色| 国产精品一区二区不卡| 欧美夫妻性生活| 亚洲欧美日韩中文字幕一区二区三区 | 视频一区视频二区中文| av成人免费在线| 久久久久国产精品厨房| 五月天激情小说综合| 95精品视频在线| 国产欧美日韩视频在线观看| 蜜臀av性久久久久av蜜臀妖精| 一本久久精品一区二区| 中文av一区二区| 国产毛片一区二区| 日韩欧美一区电影| 国产91精品久久久久久久网曝门| 欧美猛男gaygay网站| 亚洲免费视频中文字幕| 99精品在线观看视频| 国产日韩成人精品| 国产一区欧美日韩| 日韩免费看的电影| 免费一级欧美片在线观看| 欧美日韩一区二区欧美激情 | 香蕉久久一区二区不卡无毒影院 | 欧美久久久久久久久中文字幕| 国产精品久久久久影院亚瑟| 国产精品18久久久久久久网站| 日韩视频一区二区三区在线播放| 亚洲福利视频一区| 欧洲在线/亚洲| 一区二区理论电影在线观看| 91免费看视频| 一区二区三区中文在线观看| 91在线国内视频| 中文字幕一区二区三区不卡| 成人在线一区二区三区| 中文字幕一区二区三区在线不卡| 国产成人在线观看免费网站| 国产色婷婷亚洲99精品小说| 国产原创一区二区三区| 久久精品在线免费观看| 国产乱人伦偷精品视频免下载 | 亚洲高清免费观看| 欧美日韩dvd在线观看| 日韩二区在线观看| 欧美成人国产一区二区| 国产精品一区久久久久| 国产欧美一区二区三区鸳鸯浴| 国产91丝袜在线观看| 国产精品久久久久影院亚瑟| 91在线国产观看| 午夜精品福利一区二区三区av| 欧美一级夜夜爽| 免费不卡在线视频| 久久久精品免费观看| 99这里只有精品| 亚洲国产精品一区二区www在线| 欧美日韩免费高清一区色橹橹 | 久久久久国产精品免费免费搜索| 国产经典欧美精品| 亚洲男人的天堂网| 欧美日韩在线三区| 波多野结衣视频一区| 亚洲视频一二三区| 91麻豆精品国产91久久久资源速度| 免费观看30秒视频久久| 欧美激情一区二区三区不卡| 欧洲色大大久久| 美国十次了思思久久精品导航| 国产视频一区在线播放| 色婷婷久久久综合中文字幕| 蜜臀久久久久久久| 1024成人网| 欧美一级片免费看| www.亚洲色图| 色吧成人激情小说| 日本在线播放一区二区三区| 国产婷婷一区二区| 99精品国产一区二区三区不卡| 国产精品美女久久久久久久久| 欧美亚洲国产怡红院影院| 寂寞少妇一区二区三区| 亚洲欧美色图小说| 蜜桃视频一区二区| 精品国产髙清在线看国产毛片| 国产一区二区三区四区五区美女 | 欧美精品久久久久久久多人混战| 美女视频一区二区| 亚洲男人的天堂在线aⅴ视频| 欧美电影免费观看高清完整版在线观看| 高清免费成人av| 日韩成人一区二区| 亚洲私人黄色宅男| 2024国产精品| 欧美视频日韩视频在线观看| 丁香激情综合五月| 老司机免费视频一区二区| 亚洲一区二区在线免费观看视频 | 国产日韩欧美电影| 91久久线看在观草草青青| 亚洲嫩草精品久久| 一区二区久久久久|