📄 receivedata.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 + -