📄 showdataframe.java
字号:
package cn.com.yuzhiqiang.pcimotor;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
//import javax.swing.border.TitledBorder;
//import org.jawin.COMException;
//import org.jawin.FuncPtr;
//import org.jawin.ReturnFlags;
public class ShowDataFrame extends JFrame implements Runnable,WindowListener {
/**
* 显示数据窗口 线程实现动态读数
*/
private static final long serialVersionUID = 1L;
final static JLabel label = new JLabel("三 台 电 机 数 据 如 下:", JLabel.CENTER);
//方向盘
final static JButton label_steeringwheel = new JButton("方向盘控制电机");
final static JButton logiclabel_steeringwheel = new JButton("逻辑脉冲数");
final static JButton speedlabel_steeringwheel = new JButton("轴速度");
final static JButton accelelabel_steeringwheel=new JButton("加速度");
final static JButton anglelabel_steeringwheel = new JButton("当前位置角度");
final static JButton statuslabel_steeringwheel=new JButton("X轴电机工作状态");
static JTextField logictf_steeringwheel = new JTextField(12);
static JTextField speedtf_steeringwheel = new JTextField(12);
static JTextField acceletf_steeringwheel=new JTextField(12);
static JTextField angletf_steeringwheel = new JTextField(12);
static JTextField statustf_steeringwheel=new JTextField(8);
//油门
final static JButton label_gun = new JButton("油门控制电机");
final static JButton logiclabel_gun = new JButton("逻辑脉冲数");
final static JButton accelelabel_gun=new JButton("加速度");
final static JButton speedlabel_gun = new JButton("轴速度");
final static JButton anglelabel_gun = new JButton("当前位置角度");
final static JButton statuslabel_gun=new JButton("Y轴电机工作状态");
static JTextField logictf_gun = new JTextField(12);
static JTextField speedtf_gun = new JTextField(12);
static JTextField acceletf_gun=new JTextField(12);
static JTextField angletf_gun = new JTextField(12);
static JTextField statustf_gun=new JTextField(8);
JTextField agraphtf1 = new JTextField(15);
//刹车
final static JButton label_brake = new JButton("刹车控制电机");
final static JButton logiclabel_brake = new JButton("逻辑脉冲数");
final static JButton accelelabel_brake=new JButton("加速度");
final static JButton speedlabel_brake = new JButton("轴速度");
final static JButton anglelabel_brake = new JButton("当前位置角度");
final static JButton statuslabel_brake=new JButton("Z轴电机工作状态");
static JTextField logictf_brake = new JTextField(12);
static JTextField speedtf_brake = new JTextField(12);
static JTextField acceletf_brake=new JTextField(12);
static JTextField angletf_brake = new JTextField(12);
static JTextField statustf_brake=new JTextField(8);
// JTextField braketf1 = new JTextField(15);
//左光码盘
final static JButton label_leftoptic = new JButton("左光码盘");
final static JButton lpwmlabel_leftoptic = new JButton("上次脉冲数");
final static JButton pwmlabel_leftoptic = new JButton("本次脉冲数");
final static JButton distancelabel_leftoptic = new JButton("测量距离");
static JTextField lpwmtf_leftoptic = new JTextField(12);
static JTextField pwmtf_leftoptic = new JTextField(12);
static JTextField distancetf_leftoptic = new JTextField(12);
// JTextField leftoptictf = new JTextField(15);
//右光码盘
final static JButton label_rightoptic = new JButton("右光码盘");
final static JButton lpwmlabel_rightoptic = new JButton("上次脉冲数");
final static JButton pwmlabel_rightoptic = new JButton("本次脉冲数");
final static JButton distancelabel_rightoptic = new JButton("测量距离");
static JTextField lpwmtf_rightoptic = new JTextField(12);
static JTextField pwmtf_rightoptic = new JTextField(12);
static JTextField distancetf_rightoptic = new JTextField(12);
//调试用
final static JButton label_1 = new JButton("调试");
// JTextField rightoptictf = new JTextField(15);
// static int hDevice;
//static ControlMotor controlmotor;// 3个电机时增加两个对象
static int[]R3=motor.PA_RR3;
static int[]R0=motor.PA_RR0;
static int[]R1=motor.PA_RR1;//建立引用
Thread runner = new Thread(this);//设置一个线程运行显示窗体
void buildConstraints(final GridBagConstraints gbc, final int gx,
final int gy, final int gw, final int gh, final int wx, final int wy) {
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = gy;
}
// static void getDevice(int hd){
// hDevice=hd;
// }
public ShowDataFrame() {
super("电机数据显示窗口");
setSize(800, 800);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
final GridBagLayout gridbag = new GridBagLayout();
final GridBagConstraints constraints = new GridBagConstraints();
final JPanel pane = new JPanel();
pane.setBackground(Color.BLACK);
// pane.setLayout(gridbag);
addWindowListener(this);//关联窗口
final Container contentpane = getContentPane();
contentpane.setLayout(gridbag);
// getDevice();
// hDevice=hD;
//controlmotor = CM;
//PA=motor.PA_RR3;
//R0=motor.PA_RR0;
// R1=motor.PA_RR1;
// 标题
buildConstraints(constraints, 0, 0, 4, 1, 100, 100);
constraints.fill = GridBagConstraints.BOTH;
constraints.anchor = GridBagConstraints.CENTER;
// final JLabel label1 = new JLabel("方向盘",JLabel.CENTER);
// final JLabel label = new JLabel("三 个 电 机 数 据 如 下:",JLabel.CENTER);
gridbag.setConstraints(label, constraints);
// pane.add(label1);
contentpane.add(label);
// 方向盘
buildConstraints(constraints, 0, 1, 1, 2, 100, 100);
constraints.fill = GridBagConstraints.BOTH;
constraints.anchor = GridBagConstraints.CENTER;
// final JLabel label1 = new JLabel("方向盘",JLabel.CENTER);
// final JButton label1 = new JButton("方向盘");
gridbag.setConstraints(label_steeringwheel, constraints);
// pane.add(label1);
contentpane.add(label_steeringwheel);
buildConstraints(constraints, 1, 1, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField tf1 = new JTextField();
gridbag.setConstraints(logiclabel_steeringwheel, constraints);
// pane.add(tf1);
contentpane.add(logiclabel_steeringwheel);
buildConstraints(constraints, 2, 1, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(accelelabel_steeringwheel, constraints);
contentpane.add(accelelabel_steeringwheel);
buildConstraints(constraints, 3, 1, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JLabel label2 = new JLabel("图形", JLabel.CENTER);
// final JPanel jp1=new JPanel();
// jp1.setBorder(new TitledBorder("方向盘实时图像"));
// gridbag.setConstraints(label2, constraints);
gridbag.setConstraints(speedlabel_steeringwheel, constraints);
// pane.add(label2);
contentpane.add(speedlabel_steeringwheel);
buildConstraints(constraints, 4, 1, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(anglelabel_steeringwheel, constraints);
contentpane.add(anglelabel_steeringwheel);
buildConstraints(constraints, 5, 1, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(statuslabel_steeringwheel, constraints);
contentpane.add(statuslabel_steeringwheel);
//方向盘TextField
buildConstraints(constraints, 1, 2, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(logictf_steeringwheel, constraints);
contentpane.add(logictf_steeringwheel);
buildConstraints(constraints, 2, 2, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(acceletf_steeringwheel, constraints);
contentpane.add(acceletf_steeringwheel);
buildConstraints(constraints, 3, 2, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(speedtf_steeringwheel, constraints);
contentpane.add(speedtf_steeringwheel);
buildConstraints(constraints, 4, 2, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(angletf_steeringwheel, constraints);
contentpane.add(angletf_steeringwheel);
buildConstraints(constraints, 5, 2, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(statustf_steeringwheel, constraints);
contentpane.add(statustf_steeringwheel);
// 油门
buildConstraints(constraints, 0, 3, 1, 2, 100, 100);
constraints.fill = GridBagConstraints.BOTH;
constraints.anchor = GridBagConstraints.CENTER;
// final JLabel agraphlabel1 = new JLabel("油 门", JLabel.CENTER);
// final JButton agraphlabel1 = new JButton("油 门");
gridbag.setConstraints(label_gun, constraints);
// pane.add(agraphlabel1);
contentpane.add(label_gun);
buildConstraints(constraints, 1, 3, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(logiclabel_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(logiclabel_gun);
buildConstraints(constraints, 2, 3, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(accelelabel_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(accelelabel_gun);
buildConstraints(constraints, 3, 3, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(speedlabel_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(speedlabel_gun);
buildConstraints(constraints, 4, 3, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(anglelabel_gun, constraints);
contentpane.add(anglelabel_gun);
buildConstraints(constraints, 5, 3, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
gridbag.setConstraints(statuslabel_gun, constraints);
contentpane.add(statuslabel_gun);
//油门TextField
buildConstraints(constraints, 1, 4, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(logictf_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(logictf_gun);
buildConstraints(constraints, 2, 4, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(acceletf_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(acceletf_gun);
buildConstraints(constraints, 3, 4, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(speedtf_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(speedtf_gun);
buildConstraints(constraints, 4, 4, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(angletf_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(angletf_gun);
buildConstraints(constraints, 5, 4, 1, 1, 100, 100);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.anchor = GridBagConstraints.CENTER;
// final JTextField agraphtf1 = new JTextField();
gridbag.setConstraints(statustf_gun, constraints);
// pane.add(agraphtf1);
contentpane.add(statustf_gun);
/*
* buildConstraints(constraints, 2, 2, 1, 1, 0, 0); constraints.fill =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -