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

📄 exercise20_1client.java

📁 这是一个基于JAVA的网络编程的例子
💻 JAVA
字号:
/*写程序实现并发的客户机-服务器以计算长方体的面积和体积*/import java.io.*;import java.net.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Exercise20_1Client extends JFrame implements ActionListener {  private JTextField jtfLength = new JTextField();  private JTextField jtfWidth = new JTextField();  private JTextField jtfHigh = new JTextField();  private JButton jbtSubmit= new JButton("Submit");  private JTextArea jta = new JTextArea();  private DataOutputStream osToServer;  private DataInputStream isFromServer;  public static void main(String[] args) {    new Exercise20_1Client();  }  public Exercise20_1Client() {    JPanel p1 = new JPanel();    p1.setLayout(new GridLayout(3, 1));    p1.add(new JLabel("Length"));    p1.add(new JLabel("Width"));    p1.add(new JLabel("High"));    Panel p2 = new Panel();    p2.setLayout(new GridLayout(3, 1));    p2.add(jtfLength);    p2.add(jtfWidth);    p2.add(jtfHigh);    JPanel p = new JPanel();    p.setLayout(new BorderLayout());    p.add(p1, BorderLayout.WEST);    p.add(p2, BorderLayout.CENTER);    p.add(jbtSubmit, BorderLayout.EAST);    jtfLength.setHorizontalAlignment(JTextField.RIGHT);    jtfWidth.setHorizontalAlignment(JTextField.RIGHT);    jtfHigh.setHorizontalAlignment(JTextField.RIGHT);    getContentPane().setLayout(new BorderLayout());    getContentPane().add(p, BorderLayout.NORTH);    getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);    jbtSubmit.addActionListener(this);    jta.setWrapStyleWord(true);    jta.setLineWrap(true);    setTitle("Exercise20_1Client");    setSize(500, 300);    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    setVisible(true);    try {      Socket connectToServer = new Socket("localhost", 8000);      isFromServer = new DataInputStream(        connectToServer.getInputStream());     osToServer = new DataOutputStream(connectToServer.getOutputStream());    }    catch (IOException ex) {      jta.append(ex.toString() + '\n');    }  }  public void actionPerformed(ActionEvent e) {    String actionCommand = e.getActionCommand();    if (e.getSource() instanceof JButton) {      try {        double length =          Double.parseDouble(jtfLength.getText().trim());        double width =          Double.parseDouble(jtfWidth.getText().trim());        double high =          Double.parseDouble(jtfHigh.getText().trim());        osToServer.writeDouble(length);        osToServer.writeDouble(width);        osToServer.writeDouble(high);        osToServer.flush();        double area = isFromServer.readDouble();        double volume = isFromServer.readDouble();          jta.append("Length: " + length +            " Width: " + width + " High: " +            high + "\n");          jta.append(" Area: " + area + " " +            " Volume: " + volume + '\n');      }      catch (IOException ex) {        System.err.println(ex);      }    }  }}

⌨️ 快捷键说明

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