Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //клиент
- package hw13;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.geom.Ellipse2D;
- import java.awt.geom.Rectangle2D;
- import java.io.*;
- import java.net.*;
- class PictureFrame extends JFrame implements Serializable {
- private boolean a = false;
- public PictureFrame() {
- setSize(800, 600);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- JPanel picture2 = new JPanel();
- picture2.setLayout(new CardLayout());
- PaintComponent1 smile1 = new PaintComponent1();
- PaintComponent2 smile2 = new PaintComponent2();
- picture2.add(smile1);
- picture2.add(smile2);
- JPanel panelforbtn = new JPanel();
- panelforbtn.setLayout(new FlowLayout());
- JButton button = new JButton("Change channel");
- ((CardLayout) picture2.getLayout()).first(picture2);
- button.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == button) {
- if (a) {
- ((CardLayout) picture2.getLayout()).first(picture2);
- a = false;
- } else {
- ((CardLayout) picture2.getLayout()).last(picture2);
- a = true;
- }
- }
- }
- });
- panelforbtn.add(button);
- getContentPane().add("Center", picture2);
- getContentPane().add("South", panelforbtn);
- }
- }
- class PaintComponent1 extends JComponent {
- public void paint(Graphics g) {
- Graphics2D g2 = (Graphics2D) g;
- //телевизор
- g2.setPaint(new Color(93, 95, 107));
- Rectangle2D k1 = new Rectangle2D.Double(200, 100, 400, 300);
- g2.fill(k1);
- g2.draw(k1);
- Rectangle2D k3 = new Rectangle2D.Double(380, 400, 40, 80);
- g2.fill(k3);
- g2.draw(k3);
- Rectangle2D k4 = new Rectangle2D.Double(300, 480, 200, 10);
- g2.fill(k4);
- g2.draw(k4);
- g2.setPaint(new Color(144, 215, 248));
- Rectangle2D k2 = new Rectangle2D.Double(220, 120, 360, 260);
- g2.fill(k2);
- g2.draw(k2);
- //смайлик
- g2.setPaint(new Color(255, 203, 0));
- Ellipse2D ellipse1 = new Ellipse2D.Double(330, 170, 150, 150);
- g2.fill(ellipse1);
- g2.draw(ellipse1);
- g2.setPaint(new Color(61, 56, 56));
- Ellipse2D ellipse2 = new Ellipse2D.Double(370, 210, 20, 20);
- g2.fill(ellipse2);
- g2.draw(ellipse2);
- Ellipse2D ellipse3 = new Ellipse2D.Double(420, 210, 20, 20);
- g2.fill(ellipse3);
- g2.draw(ellipse3);
- Rectangle2D k5 = new Rectangle2D.Double(370, 265, 70, 10);
- g2.fill(k5);
- g2.draw(k5);
- }
- }
- class PaintComponent2 extends JComponent {
- public void paint(Graphics g) {
- Graphics2D g2 = (Graphics2D) g;
- //телевизор
- g2.setPaint(new Color(93, 95, 107));
- Rectangle2D k1 = new Rectangle2D.Double(200, 100, 400, 300);
- g2.fill(k1);
- g2.draw(k1);
- Rectangle2D k3 = new Rectangle2D.Double(380, 400, 40, 80);
- g2.fill(k3);
- g2.draw(k3);
- Rectangle2D k4 = new Rectangle2D.Double(300, 480, 200, 10);
- g2.fill(k4);
- g2.draw(k4);
- g2.setPaint(new Color(103, 255, 109));
- Rectangle2D k2 = new Rectangle2D.Double(220, 120, 360, 260);
- g2.fill(k2);
- g2.draw(k2);
- //смайлик(удивленный)
- g2.setPaint(new Color(255, 203, 0));
- Ellipse2D ellipse1 = new Ellipse2D.Double(330, 170, 150, 150);
- g2.fill(ellipse1);
- g2.draw(ellipse1);
- g2.setPaint(new Color(61, 56, 56));
- Ellipse2D ellipse2 = new Ellipse2D.Double(370, 210, 20, 30);
- g2.fill(ellipse2);
- g2.draw(ellipse2);
- Ellipse2D ellipse3 = new Ellipse2D.Double(420, 210, 20, 30);
- g2.fill(ellipse3);
- g2.draw(ellipse3);
- Ellipse2D k5 = new Ellipse2D.Double(380, 265, 50, 35);
- g2.fill(k5);
- g2.draw(k5);
- }
- }
- public class Client {
- private static final String host = "localhost";
- private static final int port = 11111;
- public static void main(String[] args) {
- Socket socket = null;
- ObjectOutputStream objectOutputStream = null;
- try {
- socket = new Socket(host, port);
- objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
- PictureFrame pic = new PictureFrame();
- pic.setTitle("Client's frame");
- pic.setVisible(true);
- objectOutputStream.writeObject(pic);
- } catch (Exception ex) {
- ex.getMessage();
- } finally {
- try {
- socket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- //сервер
- package hw13;
- import java.io.*;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class Server {
- private static final int port = 11111;
- public static void main(String[] args) throws IOException {
- ServerSocket serverSocket = null;
- Socket socket = null;
- ObjectInputStream objectInputStream = null;
- try {
- serverSocket = new ServerSocket(port);
- socket = serverSocket.accept();
- objectInputStream = new ObjectInputStream(socket.getInputStream());
- PictureFrame pictureFrame = (PictureFrame) objectInputStream.readObject();
- pictureFrame.setTitle("Server's frame");
- pictureFrame.setVisible(true);
- } catch (Exception ex) {
- ex.printStackTrace();
- } finally {
- try {
- serverSocket.close();
- socket.close();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment