java上位机

这个Java程序创建了一个上位机界面,通过TCP连接读取和写入数据。程序包括一个JFrame窗口,包含多个组件如按钮、文本框和标签,用于显示和控制设备状态。它使用ModbusTCPMaster库进行通信,并实现了读取和写入多个寄存器的功能。用户可以启动、停止操作,切换设备工作模式和速度。
摘要由CSDN通过智能技术生成
可以做,我有做好的底层通讯程序,无需了解通讯协议,只要正确配置就可以读出相应的寄存器的值,数据类型支持short,int,float等,我也有做好的界面,打成了jar运行包,有需要的联系我

package com.tminfo.wang.unit;


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Toolkit;


import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;


import javax.swing.*;
import com.mhl.tools.MyTools;


import java.util.Timer;  
import java.util.TimerTask;
import java.util.Vector;


public class JieMian extends JFrame implements Runnable,ActionListener{


/**
* @param args
*/
JTextField  jtf1,jtf2,jtf3,jtf4;
JLabel jlb1,jlb2,jlb3,jlb4;
JPanel jp1;
JButton jstart,jstop,jsclecthih,jsclectman;
int data1=0;
static BaseUnit BaseUnit1=null;
Myjpanel myj;
static int numvalue[]=new int[10];
public static void main(String[] args) {
// TODO Auto-generated method stub
//界面初始化并启动线程jar包qq群 576982602
JieMian JieMian=new JieMian();
Thread t1 =new Thread(JieMian);
t1.start();
//实例化读数据
BaseUnit1=new BaseUnit();
}
public JieMian()
{
myj=new Myjpanel(BaseUnit1);
myj.setBackground(Color.gray);
this.add(myj);

//jp1面板布局为空
jp1=new JPanel();
jp1.setLayout(null);
jstart=new JButton("启动");
// jstart.setFont(MyTools.f1);
jstart.setBounds(3,90,70,30);
jstart.addActionListener(this);
jp1.add(jstart);
jstop=new JButton("停止");
jstop.setBounds(80,90,70,30);
jstop.addActionListener(this);
jp1.add(jstop);
jsclecthih=new JButton("高速切换");
jsclecthih.setBounds(155,90,90,30);
jsclecthih.addActionListener(this);
jp1.add(jsclecthih);
jsclectman=new JButton("手自动切换");
jsclectman.setBounds(252,90,99,30);
jsclectman.addActionListener(this);
jp1.add(jsclectman);

   //标签
jlb1=new JLabel("温度");
jlb1.setFont(MyTools.f1);
jlb1.setBounds(10, 20, 50, 30);
jp1.add(jlb1);
// 建立一个文本框
jtf1=new JTextField(20);
jtf1.setFont(MyTools.f1);
jtf1.setBounds(60, 25, 60, 25);
jtf1.setBorder(BorderFactory.createLoweredBevelBorder());
jp1.add(jtf1);

//标签
jlb2=new JLabel("湿度");
jlb2.setFont(MyTools.f1);
jlb2.se

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值