用java语言实现远程控制类;要求该程序具有图形用户界面,给出完整源码,并且提示部分和注释部分用中文提示
时间: 2023-07-15 08:12:26 浏览: 99
以下是一个简单的Java语言实现远程控制类的示例,包含图形用户界面和注释:
```
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class RemoteControl extends Frame implements ActionListener {
private Button connectButton;
private TextField ipAddressField, commandField, resultField;
private Socket socket;
private PrintWriter output;
private BufferedReader input;
public RemoteControl() {
super("远程控制");
setLayout(new BorderLayout());
// 创建连接按钮和IP地址文本框
connectButton = new Button("连接");
connectButton.addActionListener(this);
Panel topPanel = new Panel();
topPanel.add(new Label("IP地址:"));
ipAddressField = new TextField(15);
topPanel.add(ipAddressField);
topPanel.add(connectButton);
add(topPanel, BorderLayout.NORTH);
// 创建命令文本框和结果文本框
Panel centerPanel = new Panel();
centerPanel.setLayout(new GridLayout(2, 1));
commandField = new TextField();
commandField.addActionListener(this);
centerPanel.add(commandField);
resultField = new TextField();
resultField.setEditable(false);
centerPanel.add(resultField);
add(centerPanel, BorderLayout.CENTER);
// 设置窗口大小并显示
setSize(300, 150);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == connectButton) {
// 点击连接按钮时建立套接字连接
try {
socket = new Socket(ipAddressField.getText(), 8080);
output = new PrintWriter(socket.getOutputStream(), true);
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
resultField.setText("连接成功!");
} catch (Exception ex) {
resultField.setText("连接失败!");
}
} else if (e.getSource() == commandField) {
// 在命令文本框中按回车键时发送命令并接收结果
try {
output.println(commandField.getText());
resultField.setText(input.readLine());
} catch (Exception ex) {
resultField.setText("发送失败!");
}
}
}
public static void main(String[] args) {
new RemoteControl();
}
}
```
该程序使用AWT构建图形用户界面,包括一个连接按钮、一个IP地址文本框、一个命令文本框和一个结果文本框。
当用户点击连接按钮时,程序会创建一个套接字连接到指定的IP地址和端口号。如果连接成功,结果文本框会显示“连接成功!”;否则,结果文本框会显示“连接失败!”。
当用户在命令文本框中输入命令并按回车键时,程序会将命令发送到远程主机并等待接收结果。如果发送成功,结果文本框会显示接收到的结果;否则,结果文本框会显示“发送失败!”。
阅读全文