📄 receivetimeout.java
字号:
/*
* @(#)ReceiveTimeout.java 1.4 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.
*/
package samples.BlackBox;
import java.awt.Panel;
import java.awt.Label;
import java.awt.TextField;
import java.awt.BorderLayout;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.comm.SerialPort;
import javax.comm.UnsupportedCommOperationException;
public class ReceiveTimeout extends Panel implements MouseListener, ActionListener
{
private int value,
defaultValue;
private Label label;
private TextField data;
private SerialPort port = null;
private boolean inputBuffer;
public ReceiveTimeout(int size,
SerialPort port)
{
super();
this.setPort(port);
this.inputBuffer = inputBuffer;
this.setLayout(new BorderLayout());
this.label = new Label("Timeout");
this.label.addMouseListener(this);
this.add("West", this.label);
this.data = new TextField(new Integer(defaultValue).toString(),
size);
this.data.addActionListener(this);
this.add("East", this.data);
this.showValue();
this.defaultValue = this.value;
}
public void setPort(SerialPort port)
{
this.port = port;
}
public int getValue()
{
/*
* Get the current timeout.
*/
if ((port != null) && port.isReceiveTimeoutEnabled())
{
this.value = port.getReceiveTimeout();
}
else
{
this.value = 0;
}
return this.value;
}
public void showValue()
{
this.data.setText(new Integer(this.getValue()).toString());
}
public void setValue(int val)
{
/*
* Set the new timeout.
*/
if (port != null)
{
if (val > 0)
{
try {
port.enableReceiveTimeout(val);
} catch (UnsupportedCommOperationException ucoe) {
ucoe.printStackTrace();
}
}
else
{
port.disableReceiveTimeout();
}
}
this.showValue();
}
public void setDefaultValue(int val)
{
this.defaultValue = val;
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
try
{
Integer newValue = new Integer(s);
this.setValue(newValue.intValue());
}
catch (NumberFormatException ex)
{
System.out.println("Bad value = "
+ e.getActionCommand());
this.showValue();
}
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
this.setValue(this.defaultValue);
}
public void mouseReleased(MouseEvent e)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -