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

📄 receivedata.java

📁 采用PCI1020芯片控制三个电机
💻 JAVA
字号:
package cn.com.yuzhiqiang.pcimotor;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ReceiveData extends JFrame implements ActionListener,Runnable {
	private JTextField jtf = new JTextField();
	private JTextArea jta=new JTextArea();
	//IO streams
	private DataOutputStream toServer;
	private DataInputStream fromServer;
	private static float[] Data=new float[10];
	private static byte[] StRadCOMMAND={83, 84, 65, 82, 84, 95, 82, 65, 68, 65, 82,0};
	//Thread runner= new Thread(this); 可不用
	public ReceiveData(){
		//Panel p 
		JPanel p= new JPanel();
		p.setLayout(new BorderLayout());
		p.add(new JLabel("Hello"), BorderLayout.WEST);
		p.add(jtf, BorderLayout.CENTER);
		jtf.setHorizontalAlignment(JTextField.RIGHT);
		
		getContentPane().setLayout(new BorderLayout());
		getContentPane().add(p, BorderLayout.NORTH);
		getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);
		
		jtf.addActionListener(this);//加事件监听器
		
		setTitle("Receive Liar Data");
		setSize(500,500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		
		try{
			//Creat a socket to connect to the server
			Socket socket= new Socket("192.168.1.10",6000);
			//socket.setSoTimeout(6000);
			//Creat an input stream to receive data from the server
			fromServer= new DataInputStream(socket.getInputStream());
			
			//
			toServer = new DataOutputStream(socket.getOutputStream());
			
		}catch(IOException e){
			
		}
	}
	public void actionPerformed(ActionEvent e) {
		// TODO 自动生成方法存根
		String actionCommand=e.getActionCommand();
		//打印信息
		System.out.println(actionCommand);
		if(e.getSource()instanceof JTextField){
			try{
				//toServer.write("");
			//	toServer.flush();
			//	byte[] buffer=new byte[40];
				//Get the radius from the text field
				byte cm=Byte.parseByte(jtf.getText().trim());
			//	String cm=jtf.getText().trim();
				if(cm==66){
				toServer.write(StRadCOMMAND);
			    toServer.flush();
				}
				//Get data from t.he server
				//while(true){
		//		fromServer.read(buffer);  
				for (int i=0;i<10;i++){
				float data=fromServer.readFloat();
				//Display to the text area
		//	System.out.println(buffer);
			//	jta.append(buffer);
				Data[i]=data;
				jta.append(data+" ");
				}
			//	
				
			}catch(IOException ex){
				System.err.println(ex);
				
			}
		}
	}
	public void run() {
		// TODO 自动生成方法存根
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -