import java.io.*;
import java.net.*;
import java.util.LinkedList;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.*;
public class Showdata extends java.applet.Applet
implements Runnable,ActionListener{
Font ft=new Font("宋体",Font.BOLD,30);
Font ftbaner=new Font("宋体",Font.BOLD,35);
Font vft=new Font("宋体",Font.BOLD,20);
Thread dthread;
URL fileur;
String fileline=" ";
InputStream filecon = null;
DataInputStream filedata = null;
int quxian=0;
private Image offImg;//声明备用屏幕类型
private Graphics2D offG;//声明备用屏幕绘图类型
// boolean bFirst=true;//第一次显示
LinkedList llist;
LinkedList ilista,ilistb,ilistc,ilistd,iliste,ilistf;
TextArea showarea;
Label baner;
Label lba;
Label lbb;
Label lbc;
Label lbd;
Label lbe;
Label lbf;
Label vlba,vlbb,vlbc,vlbd,vlbe,vlbf;
Button cbta,cbtb,cbtc,cbtd,cbte,cbtf;
String pa;
String pb;
String pc;
String pd;
String pe;
String pf;
int ipa,ipb,ipc,ipd,ipe,ipf;
int ypa,ypb,ypc,ypd,ype,ypf;
public void init() {
pa=new String("");
pb=new String("");
pc=new String("");
pd=new String("");
pe=new String("");
pf=new String("");
baner=new Label();
lba=new Label("温度");
lbb=new Label("湿度");
lbc=new Label("空气");
lbd=new Label("震动");
lbe=new Label("噪音");
lbf=new Label("XX参数");
vlba=new Label("......");
vlbb=new Label("......");
vlbc=new Label("......");
vlbd=new Label("......");
vlbe=new Label("......");
vlbf=new Label("......");
cbta=new Button("动态曲线");
cbtb=new Button("动态曲线");
cbtc=new Button("动态曲线");
cbtd=new Button("动态曲线");
cbte=new Button("动态曲线");
cbtf=new Button("动态曲线");
llist=new LinkedList();
ilista=new LinkedList<Integer>();
ilistb=new LinkedList<Integer>();
ilistc=new LinkedList<Integer>();
ilistd=new LinkedList<Integer>();
iliste=new LinkedList<Integer>();
ilistf=new LinkedList<Integer>();
setLayout(null);
baner.setBounds(200, 5, 300, 35);
baner.setFont(ftbaner);
baner.setText("远程物理量的监控");
lba.setBounds(5, 45, 120, 30);
lbb.setBounds(130, 45, 120, 30);
lbc.setBounds(255, 45, 120, 30);
lbd.setBounds(380, 45, 120, 30);
lbe.setBounds(505, 45, 120, 30);
lbf.setBounds(630, 45, 120, 30);
vlba.setBounds(5, 80, 120, 30);
vlbb.setBounds(130, 80, 120, 30);
vlbc.setBounds(255, 80, 120, 30);
vlbd.setBounds(380, 80, 120, 30);
vlbe.setBounds(505, 80, 120, 30);
vlbf.setBounds(630, 80, 120, 30);
cbta.setBounds(5, 115, 120, 30);
cbtb.setBounds(130, 115, 120, 30);
cbtc.setBounds(255, 115, 120, 30);
cbtd.setBounds(380, 115, 120, 30);
cbte.setBounds(505, 115, 120, 30);
cbtf.setBounds(630, 115, 120, 30);
lba.setFont(ft);
lbb.setFont(ft);
lbc.setFont(ft);
lbd.setFont(ft);
lbe.setFont(ft);
lbf.setFont(ft);
vlba.setFont(vft);
vlbb.setFont(vft);
vlbc.setFont(vft);
vlbd.setFont(vft);
vlbe.setFont(vft);
vlbf.setFont(vft);
cbta.setFont(vft);
cbtb.setFont(vft);
cbtc.setFont(vft);
cbtd.setFont(vft);
cbte.setFont(vft);
cbtf.setFont(vft);
add(baner);
add(lba);
add(lbb);
add(lbc);
add(lbd);
add(lbe);
add(lbf);
add(vlba);
add(vlbb);
add(vlbc);
add(vlbd);
add(vlbe);
add(vlbf);
add(cbta);
add(cbtb);
add(cbtc);
add(cbtd);
add(cbte);
add(cbtf);
cbta.addActionListener(this);
cbtb.addActionListener(this);
cbtc.addActionListener(this);
cbtd.addActionListener(this);
cbte.addActionListener(this);
cbtf.addActionListener(this);
setBackground(Color.black);
//setVisible(true);
String url = "http://10.10.207.151/html/test.txt";
try { fileur = new URL(url); }
catch ( MalformedURLException e) {
System.out.println("Can´t get URL: " );
}
try
{
offImg=createImage(getSize().width,getSize().height);//创建备用屏幕
offG=(Graphics2D)offImg.getGraphics();//获取备用屏幕绘图环境
}
catch(Exception e)
{
offG=null;
showStatus("备用屏幕初始化失败!");
}
}
public void start() {
if (dthread == null)
{
dthread = new Thread(this);
dthread.start();
}
}
public void stop() {
if (dthread != null) {
dthread.stop();
dthread = null;
}
}
public void run() {
while(true){
try {
filecon = fileur.openStream();
filedata = new DataInputStream(filecon);
while ((fileline = filedata.readLine()) != null) {
pa=fileline.substring(0, fileline.indexOf("a"));
pb=fileline.substring(fileline.indexOf("a")+1, fileline.indexOf("b"));
pc=fileline.substring(fileline.indexOf("b")+1, fileline.indexOf("c"));
pd=fileline.substring(fileline.indexOf("c")+1, fileline.indexOf("d"));
pe=fileline.substring(fileline.indexOf("d")+1, fileline.indexOf("e"));
pf=fileline.substring(fileline.indexOf("e")+1, fileline.indexOf("f"));
llist.addFirst(pa);
if(llist.size()>200){
llist.removeLast();
}
ipa=Integer.parseInt(pa);
ipb=Integer.parseInt(pb);
ipc=Integer.parseInt(pc);
ipd=Integer.parseInt(pd);
ipe=Integer.parseInt(pe);
ipf=Integer.parseInt(pf);
System.out.println(ipa);
ypa=500-(int)(((double)ipa/4096)*300);
ypb=500-(int)(((double)ipb/4096)*300);
ypc=500-(int)(((double)ipc/4096)*300);
ypd=500-(int)(((double)ipd/4096)*300);
ype=500-(int)(((double)ipe/4096)*300);
ypf=500-(int)(((double)ipf/4096)*300);
System.out.println(ypa);
ilista.addFirst(ypa);
ilistb.addFirst(ypb);
ilistc.addFirst(ypc);
ilistd.addFirst(ypd);
iliste.addFirst(ype);
ilistf.addFirst(ypf);
if(ilista.size()>200){
ilista.removeLast();
ilistb.removeLast();
ilistc.removeLast();
ilistd.removeLast();
iliste.removeLast();
ilistf.removeLast();
}
vlba.setText(pa);
vlbb.setText(pb);
vlbc.setText(pc);
vlbd.setText(pd);
vlbe.setText(pe);
vlbf.setText(pf);
}
}
catch (IOException e) {
System.out.println("Error in I/O:" + e.getMessage());
}
try{
dthread.sleep(1000);
}
catch (InterruptedException e){}
repaint();
}
}
public void paint(Graphics g) {
//offG.setColor(Color.BLACK);
offG.clearRect(0, 0, getWidth(), getHeight());
//offG.drawString("远程室内监控系统", 300, 200);
//offG.setColor(Color.BLUE);
offG.setColor(Color.white);
offG.setStroke(new BasicStroke());
offG.drawLine(50, 200, 750, 200);//上横框边线
offG.drawLine(750, 200, 750, 500);//右竖框边线
offG.setColor(Color.orange);
offG.drawLine(50, 160, 50, 500);//左竖框边线
offG.drawLine(50, 500, 780, 500);//下横框边线
offG.drawLine(40, 170, 50, 160);
offG.drawLine(60, 170, 50, 160);//竖箭头
offG.drawLine(770, 490, 780, 500);
offG.drawLine(770, 510, 780, 500);//横箭头
for(int c=0;c<=10;c++){
offG.drawString(Integer.toString(c*500), 15, (500-30*c));
if(c>=1)
offG.drawString(Integer.toString(c*23), 40+70*c, 520);
}
offG.setColor(Color.white);
float dash[] = { 4.0f };
BasicStroke bs = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER, 10.0f, dash, 0.0f);
offG.setStroke(bs);
for(int b=1;b<10;b++){
offG.drawLine(50+70*b, 200, 50+70*b, 500);
offG.drawLine(50, 200+30*b, 750,200+30*b);
}
//float dash2[] = { 4.0f };
BasicStroke bs2 = new BasicStroke(1.0f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_MITER);
offG.setStroke(bs2);
switch (quxian) {
case 0:
//BasicStroke defbs=new BasicStroke();
//defbs=offG.getStroke();
offG.setColor(Color.red);
for(int a=0;a<ilista.size()-1;a++){
offG.drawLine(a
没有合适的资源?快使用搜索试试~ 我知道了~
远程采集系统嵌入式WEB端java applet动态曲线显示采集量的代码.zip
共1个文件
java:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 138 浏览量
2023-09-25
13:41:23
上传
评论
收藏 3KB ZIP 举报
温馨提示
远程采集系统嵌入式WEB端java applet动态曲线显示采集量的代码.zip
资源推荐
资源详情
资源评论
收起资源包目录
远程采集系统嵌入式WEB端java applet动态曲线显示采集量的代码.zip (1个子文件)
远程采集系统嵌入式WEB端java applet动态曲线显示采集量的代码
Showdata.java 9KB
T
共 1 条
- 1
资源评论
处处清欢
- 粉丝: 154
- 资源: 2483
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功