⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showdataframe.java

📁 采用PCI1020芯片控制三个电机
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -