Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
ПРИЛОЖЕНИЕ 2. Исходный код клиента приложения 2
package primer_2; import java.net.*; import java.io.*; public class ClientForm extends java.awt.Frame implements Runnable{ Thread process1 = new Thread(this); BufferedReader in = null; BufferedWriter out = null; FileWriter fw = null; Socket ss = null; /** Создаем новое окно клиента */ public ClientForm() { initComponents(); } private void initComponents() { list1 = new java.awt.List(); textField1 = new java.awt.TextField(); button1 = new java.awt.Button(); button2 = new java.awt.Button(); button3 = new java.awt.Button(); setName("Client"); setTitle("Client"); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); setLayout(null); add(list1); list1.setBounds(30, 110, 170, 170); add(textField1); textField1.setBounds(30, 70, 170, 20); button1.setActionCommand("button3"); button1.setLabel("Connect"); button1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button1ActionPerformed(evt); } }); add(button1); button1.setBounds(260, 250, 100, 24); button2.setLabel("Send"); button2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button2ActionPerformed(evt); } }); add(button2); button2.setBounds(250, 70, 110, 24); button3.setLabel("Close"); button3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button3ActionPerformed(evt); } }); add(button3); button3.setBounds(260, 200, 90, 24); setBounds(200, 200, 408, 338); } /** Выход из приложения */ private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } private void button1ActionPerformed(java.awt.event.ActionEvent evt) { // Устанавливаем соединение с с хостом connect(); } private void button2ActionPerformed(java.awt.event.ActionEvent evt) { // Получаем строку от пользователя и пересылаем серверу try{ String data = textField1.getText(); out.write(data); out.newLine(); out.flush(); } catch(Exception e){} } private void button3ActionPerformed(java.awt.event.ActionEvent evt) { // Закрываем файл, потоки и соединение try { fw.close(); in.close(); out.close(); ss.close(); } catch(Exception e){} } public void run() { String s1; try{ //В цикле читаем данные из потока while(true) { s1 = in.readLine(); //Отображаем в компоненте list1.add(s1); //Записываем в файл fw.write(s1); } } catch(Exception e){} } public void connect() { try { //Устанавливаем соединение с локальным хостом InetAddress addr = InetAddress.getLocalHost(); ss = new Socket(addr, 220); //Получаем потоки ввода_вывода in = new BufferedReader(new InputStreamReader(ss.getInputStream())); out = new BufferedWriter(new OutputStreamWriter(ss.getOutputStream())); //Запускаем новый подпроцесс process1.start(); //Открываем файл fw = new FileWriter("messageCli.txt"); } catch(Exception e){ System.out.println(" ошибка "); } } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new ClientForm().setVisible(true); } }); } // Variables declaration - do not modify private java.awt.Button button1; private java.awt.Button button2; private java.awt.Button button3; private java.awt.List list1; private java.awt.TextField textField1; // End of variables declaration }
|
1 |
Оглавление
|