codisinmyvines

konchenayazadachka//

Dec 21st, 2021
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  1. //клиент
  2. package hw13;
  3.  
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.geom.Ellipse2D;
  9. import java.awt.geom.Rectangle2D;
  10. import java.io.*;
  11. import java.net.*;
  12.  
  13. class PictureFrame extends JFrame implements Serializable {
  14. private boolean a = false;
  15.  
  16. public PictureFrame() {
  17. setSize(800, 600);
  18. setDefaultCloseOperation(EXIT_ON_CLOSE);
  19. JPanel picture2 = new JPanel();
  20. picture2.setLayout(new CardLayout());
  21. PaintComponent1 smile1 = new PaintComponent1();
  22. PaintComponent2 smile2 = new PaintComponent2();
  23. picture2.add(smile1);
  24. picture2.add(smile2);
  25. JPanel panelforbtn = new JPanel();
  26. panelforbtn.setLayout(new FlowLayout());
  27. JButton button = new JButton("Change channel");
  28. ((CardLayout) picture2.getLayout()).first(picture2);
  29. button.addActionListener(new ActionListener() {
  30. @Override
  31. public void actionPerformed(ActionEvent e) {
  32. if (e.getSource() == button) {
  33. if (a) {
  34. ((CardLayout) picture2.getLayout()).first(picture2);
  35. a = false;
  36. } else {
  37. ((CardLayout) picture2.getLayout()).last(picture2);
  38. a = true;
  39. }
  40. }
  41. }
  42. });
  43. panelforbtn.add(button);
  44. getContentPane().add("Center", picture2);
  45. getContentPane().add("South", panelforbtn);
  46. }
  47. }
  48.  
  49. class PaintComponent1 extends JComponent {
  50. public void paint(Graphics g) {
  51. Graphics2D g2 = (Graphics2D) g;
  52. //телевизор
  53. g2.setPaint(new Color(93, 95, 107));
  54. Rectangle2D k1 = new Rectangle2D.Double(200, 100, 400, 300);
  55. g2.fill(k1);
  56. g2.draw(k1);
  57. Rectangle2D k3 = new Rectangle2D.Double(380, 400, 40, 80);
  58. g2.fill(k3);
  59. g2.draw(k3);
  60. Rectangle2D k4 = new Rectangle2D.Double(300, 480, 200, 10);
  61. g2.fill(k4);
  62. g2.draw(k4);
  63. g2.setPaint(new Color(144, 215, 248));
  64. Rectangle2D k2 = new Rectangle2D.Double(220, 120, 360, 260);
  65. g2.fill(k2);
  66. g2.draw(k2);
  67. //смайлик
  68. g2.setPaint(new Color(255, 203, 0));
  69. Ellipse2D ellipse1 = new Ellipse2D.Double(330, 170, 150, 150);
  70. g2.fill(ellipse1);
  71. g2.draw(ellipse1);
  72. g2.setPaint(new Color(61, 56, 56));
  73. Ellipse2D ellipse2 = new Ellipse2D.Double(370, 210, 20, 20);
  74. g2.fill(ellipse2);
  75. g2.draw(ellipse2);
  76. Ellipse2D ellipse3 = new Ellipse2D.Double(420, 210, 20, 20);
  77. g2.fill(ellipse3);
  78. g2.draw(ellipse3);
  79. Rectangle2D k5 = new Rectangle2D.Double(370, 265, 70, 10);
  80. g2.fill(k5);
  81. g2.draw(k5);
  82. }
  83. }
  84.  
  85. class PaintComponent2 extends JComponent {
  86. public void paint(Graphics g) {
  87. Graphics2D g2 = (Graphics2D) g;
  88. //телевизор
  89. g2.setPaint(new Color(93, 95, 107));
  90. Rectangle2D k1 = new Rectangle2D.Double(200, 100, 400, 300);
  91. g2.fill(k1);
  92. g2.draw(k1);
  93. Rectangle2D k3 = new Rectangle2D.Double(380, 400, 40, 80);
  94. g2.fill(k3);
  95. g2.draw(k3);
  96. Rectangle2D k4 = new Rectangle2D.Double(300, 480, 200, 10);
  97. g2.fill(k4);
  98. g2.draw(k4);
  99. g2.setPaint(new Color(103, 255, 109));
  100. Rectangle2D k2 = new Rectangle2D.Double(220, 120, 360, 260);
  101. g2.fill(k2);
  102. g2.draw(k2);
  103. //смайлик(удивленный)
  104. g2.setPaint(new Color(255, 203, 0));
  105. Ellipse2D ellipse1 = new Ellipse2D.Double(330, 170, 150, 150);
  106. g2.fill(ellipse1);
  107. g2.draw(ellipse1);
  108. g2.setPaint(new Color(61, 56, 56));
  109. Ellipse2D ellipse2 = new Ellipse2D.Double(370, 210, 20, 30);
  110. g2.fill(ellipse2);
  111. g2.draw(ellipse2);
  112. Ellipse2D ellipse3 = new Ellipse2D.Double(420, 210, 20, 30);
  113. g2.fill(ellipse3);
  114. g2.draw(ellipse3);
  115. Ellipse2D k5 = new Ellipse2D.Double(380, 265, 50, 35);
  116. g2.fill(k5);
  117. g2.draw(k5);
  118. }
  119. }
  120.  
  121. public class Client {
  122. private static final String host = "localhost";
  123. private static final int port = 11111;
  124.  
  125. public static void main(String[] args) {
  126.  
  127. Socket socket = null;
  128. ObjectOutputStream objectOutputStream = null;
  129. try {
  130. socket = new Socket(host, port);
  131. objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
  132. PictureFrame pic = new PictureFrame();
  133. pic.setTitle("Client's frame");
  134. pic.setVisible(true);
  135. objectOutputStream.writeObject(pic);
  136. } catch (Exception ex) {
  137. ex.getMessage();
  138. } finally {
  139. try {
  140. socket.close();
  141.  
  142. } catch (IOException e) {
  143. e.printStackTrace();
  144. }
  145. }
  146. }
  147. }
  148. //сервер
  149. package hw13;
  150.  
  151. import java.io.*;
  152. import java.net.ServerSocket;
  153. import java.net.Socket;
  154.  
  155. public class Server {
  156. private static final int port = 11111;
  157.  
  158. public static void main(String[] args) throws IOException {
  159. ServerSocket serverSocket = null;
  160. Socket socket = null;
  161. ObjectInputStream objectInputStream = null;
  162. try {
  163. serverSocket = new ServerSocket(port);
  164. socket = serverSocket.accept();
  165. objectInputStream = new ObjectInputStream(socket.getInputStream());
  166. PictureFrame pictureFrame = (PictureFrame) objectInputStream.readObject();
  167. pictureFrame.setTitle("Server's frame");
  168. pictureFrame.setVisible(true);
  169. } catch (Exception ex) {
  170. ex.printStackTrace();
  171. } finally {
  172. try {
  173. serverSocket.close();
  174. socket.close();
  175. } catch (IOException ex) {
  176. ex.printStackTrace();
  177. }
  178. }
  179. }
  180. }
  181.  
Advertisement
Add Comment
Please, Sign In to add comment