设计模式解析--享元模式和代理模式(黑白棋落子和RMI远程)

1. 享元模式
应用享元模式设计一个黑白棋落子界面,用两个棋子图像构建两个Image享元类,在界面上相应鼠标事件,获取鼠标单击是的坐标,在坐标点上交替绘制黑白棋子。
2. 代理模式
Java RMI是代理模式的典型应用。Java编程实现远程对象方法调用过程:
1) 编写远程对象接口,定义RMI方法:
2) 编写远程对象实现类,注意要继承UnicastRemoteObject类。实现接口的RMI方法。
3) 编写RMI Server类。
4) 编写远程访问客户端,调用远程对象方法。

在这里插入图片描述
1.代码

import java.awt.event.*;
import java.awt.*;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;

class Five extends Frame {
	Image bimg= Toolkit.getDefaultToolkit().getImage("black.png");
	Image wimg = Toolkit.getDefaultToolkit().getImage("white.png");
	boolean b=true;
	int m,n;
    	public Five() {
        		setSize(1000, 600);
		setBackground(Color.GREEN);
		addMouseListener(new MouseListener()
		{
			public void mouseExited(MouseEvent e){}
			public void mouseEntered(MouseEvent e){}
			public void mouseReleased(MouseEvent e){}
			public void mousePressed(MouseEvent e){}
			public void mouseClicked(MouseEvent e){
				m=e.getX();
				n=e.getY();
				repaint(m,n,36,36);
			}
		});
  	}
	

    	@Override
    	public void paint(Graphics g) {
		if(b)
		{
			g.drawImage(bimg,m,n,this);
			b=!b;
		}else
		{
			g.drawImage(wimg,m,n,this);
			b=!b;
			
		}
	}

    	public static void main(String[] args) {
        	Five gd=new Five();
		gd.setVisible(true);
		gd.repaint();
    	}
}
发布了28 篇原创文章 · 获赞 6 · 访问量 2859

猜你喜欢

转载自blog.csdn.net/weixin_45621658/article/details/102880736