📄 sickdisplay.java
字号:
package cie.mobile.sick;
import name.lxm.robot.arch.*;
import javax.swing.*;
public class SickDisplay extends AbstractModule
{
private String[] port_names = {"data"};
private SimpleInPort data_port = null;
private int width = 400;
private int height = 300;
private int data_length = 361;
private Object locker = new Object();
private JFrame myframe = new JFrame("Sick Range Finder");
private SickDisplayPanel panel = null;
public void valueUpdated()
{
synchronized(locker)
{
locker.notifyAll();
}
}
public void run()
{
while(bRun)
{
synchronized(locker)
{
try{
locker.wait();
}catch(InterruptedException e)
{}
}
Object o = data_port.getValue();
if(o != null && (o instanceof RangeData))
{
RangeData data = (RangeData) o;
panel.paintData(data);
System.out.print(".");
}else
{
System.out.println("Bad Range Data, drop it.");
}
}
}
public void init(ModuleDoc doc) throws Exception
{
super.init(doc);
String s = doc.getParamValue("width");
if(s != null)
width = Integer.parseInt(s);
s = doc.getParamValue("height");
if(s != null)
height = Integer.parseInt(s);
s = doc.getParamValue("data_length");
if(s != null)
data_length = Integer.parseInt(s);
data_port = new SimpleInPort(this, port_names[0]);
data_port.registerListener(this);
panel = new SickDisplayPanel(width, height, data_length);
myframe.getContentPane().add(panel);
myframe.setVisible(true);
myframe.pack();
}
public void start() throws Exception
{
super.start();
}
public Port getPort(String name)
{
if(port_names[0].equals(name))
return data_port;
return null;
}
public void stop() throws Exception
{
super.stop();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -