⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flowctldisplay.java

📁 这是我自己写的,请各位高手看一下!!是关于串口方面的编程,用java
💻 JAVA
字号:
/* * @(#)FlowCtlDisplay.java	1.7 98/07/17 SMI * * Author: Tom Corson * * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. * * Sun grants you ("Licensee") a non-exclusive, royalty free, license  * to use, modify and redistribute this software in source and binary * code form, provided that i) this copyright notice and license appear * on all copies of the software; and ii) Licensee does not utilize the * software in a manner which is disparaging to Sun. * * This software is provided "AS IS," without a warranty of any kind. * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND * ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE * SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS * BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, * HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING * OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. * * This software is not designed or intended for use in on-line control * of aircraft, air traffic, aircraft navigation or aircraft * communications; or in the design, construction, operation or * maintenance of any nuclear facility. Licensee represents and * warrants that it will not use or redistribute the Software for such * purposes. */import java.awt.Panel;import java.awt.Label;import java.awt.Checkbox;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ItemListener;import java.awt.event.ItemEvent;import javax.comm.SerialPort;import javax.comm.UnsupportedCommOperationException;public class FlowCtlDisplay extends Panel implements ItemListener{	SerialPort	port = null;    	Label 		RTSLabel,			XONLabel,			RCVLabel,			XMTLabel;    	Checkbox	RCVRTS,			XMTRTS,			RCVXON,			XMTXON;	private	Color	onColor,			offColor;	public FlowCtlDisplay(SerialPort	port)	{		super();		this.setPort(port);		this.setLayout(new GridLayout(0, 3));		this.add(new Label(""));		RTSLabel = new Label("RTS/CTS");		this.add(RTSLabel);		XONLabel = new Label("XON/XOFF");		this.add(XONLabel);		RCVLabel = new Label("RCV");		this.add(RCVLabel);		RCVRTS = new Checkbox();		RCVRTS.addItemListener(this);		this.add(RCVRTS);		RCVXON = new Checkbox();		RCVXON.addItemListener(this);		this.add(RCVXON);		XMTLabel = new Label("XMT");		this.add(XMTLabel);		XMTRTS = new Checkbox();		XMTRTS.addItemListener(this);		this.add(XMTRTS);		XMTXON = new Checkbox();		XMTXON.addItemListener(this);		this.add(XMTXON);		onColor = Color.green;		offColor = Color.black;	}	public void setPort(SerialPort	port)	{		this.port = port;	}	public void showValues()	{		if (this.port != null)		{			/*			 *  Get the flow control mode			 */				int	mode = port.getFlowControlMode();				if ((mode & SerialPort.FLOWCONTROL_RTSCTS_IN) > 0)			{				RCVRTS.setState(true);				RCVRTS.setForeground(onColor);			}				else			{				RCVRTS.setState(false);				RCVRTS.setForeground(offColor);			}				if ((mode & SerialPort.FLOWCONTROL_XONXOFF_IN) > 0)			{				RCVXON.setState(true);				RCVXON.setForeground(onColor);			}				else			{				RCVXON.setState(false);				RCVXON.setForeground(offColor);			}				if ((mode & SerialPort.FLOWCONTROL_RTSCTS_OUT) > 0)			{				XMTRTS.setState(true);				XMTRTS.setForeground(onColor);			}				else			{				XMTRTS.setState(false);				XMTRTS.setForeground(offColor);			}				if ((mode & SerialPort.FLOWCONTROL_XONXOFF_OUT) > 0)			{				XMTXON.setState(true);				XMTXON.setForeground(onColor);			}				else			{				XMTXON.setState(false);				XMTXON.setForeground(offColor);			}		}		else		{			this.clearValues();		}	}	public void itemStateChanged(ItemEvent	ev)	{		String 	sel = (String) ev.getItem();		int	value = SerialPort.FLOWCONTROL_NONE;		if (this.port != null)		{			if (this.RCVRTS.getState())			{				value |= SerialPort.FLOWCONTROL_RTSCTS_IN;			}				if (this.RCVXON.getState())			{				value |= SerialPort.FLOWCONTROL_XONXOFF_IN;			}				if (this.XMTRTS.getState())			{				value |= SerialPort.FLOWCONTROL_RTSCTS_OUT;			}				if (this.XMTXON.getState())			{				value |= SerialPort.FLOWCONTROL_XONXOFF_OUT;			}				/*			 *  Set the flow control mode			 */			try {			    this.port.setFlowControlMode(value);			} catch (UnsupportedCommOperationException ucoe) {			    ucoe.printStackTrace();			}					}		this.showValues();	}	public void clearValues()	{		RCVRTS.setState(false);		RCVRTS.setForeground(offColor);		RCVXON.setState(false);		RCVXON.setForeground(offColor);		XMTRTS.setState(false);		XMTRTS.setForeground(offColor);		XMTXON.setState(false);		XMTXON.setForeground(offColor);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -