求大神们指点思路!

cw110106 2012-12-22 10:23:55

求各位大神 实现上面图中的效果,不要求后台的功能实现仅仅是效果。
鼠标 单机一个蓝色座位(空座)--> 座位变红色(本次选择) --> 已售出的座位是紫色(已售出点击无效)。
我现在掌握的是 JAVASE SWT 只有知识。希望大神指点思路!麻烦各位了!
...全文
147 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ceclinux 2012-12-24
  • 打赏
  • 举报
回复
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Ellipse2D.Double;

import javax.swing.JFrame;

/**
 * http://bbs.csdn.net/topics/390325800
 * @author Administrator
 *
 */
public class ChangeColor extends JFrame{
	int x;
	int y;
	Color aColor=Color.blue;
	Color bColor=new Color(255,0,255);//紫色的RGB值
	public static void main(String[] args){
		new ChangeColor();
	}
	public void paint(Graphics g){
		Graphics2D gr=(Graphics2D) g;
		gr.setColor(Color.blue);
		Ellipse2D.Double a=new Ellipse2D.Double(50,50,50,50); //可以 用的椅子
		Ellipse2D.Double b=new Ellipse2D.Double(150,50,50,50);//不能用的,已经占用的椅子
		paintAvailable(gr, a,Color.red);
		paintTaken(gr,b);
		
	}
/**
 * 画已经占用的位子
 * @param gr
 * @param b
 */
	private void paintTaken(Graphics2D gr, Double b) {
		gr.setColor(bColor);
		gr.draw(b);
		gr.fill(b);//涂色
	}
	/**
	 * 画未被占用的位子
	 * @param gr
	 * @param a
	 * @param fin
	 */
	private void paintAvailable(Graphics2D gr, Double a,Color fin) {
		if(a.contains(x,y)||aColor.equals(fin)){//如果可以使用
			gr.setColor(fin);
			aColor=fin;
		}
		gr.draw(a);
		gr.fill(a);//涂色
	}
	public ChangeColor(){
		setSize(500,500);
		setVisible(true);
		addMouseListener(new MouseListener() {//鼠标捕捉
			
			
			@Override
			public void mouseReleased(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
				x=e.getX();
				y=e.getY();
				repaint();
			}
			
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseClicked(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
		
	}
}
cw110106 2012-12-23
  • 打赏
  • 举报
回复
引用 1 楼 zhou9898 的回复:
自己想想呗。。。。来这里谁能帮你写代码呢。。。 结贴吧。。 楼下回复是傻逼。
这么回帖不如不回,这上面也有懂不懂都爱教训人的厮,要是求代码不会把帖子发到这上面来想学JAVA谁还不认识几个老师和学长。 我说的够详细了是想看看大家什么思路,哥们看不懂吗? 还有头像特符合您秉性,Sorry 一定就是您的自拍吧。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧