package li.option;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.EventListenerList;
import java.util.EventListener;
import li.common.CommonOptionBar;
import li.event.*;
import li.domain.*;
//import yan.domain.BallPanel;
public class OptionPanel extends JPanel implements CustomeListener
{
private CommonOptionBar[] bars=new CommonOptionBar[5];
private EventListenerList list=new EventListenerList();
public OptionPanel()
{
setLayout(new GridLayout(5,1));
String[] titles={"红色","绿色","蓝色","水平","竖直"
};
int[] mins={0,0,0,0,0
};
int[] maxs={255,255,255,40,40
};
int[] curs={0,0,0,2,2
};
for(int i=0;i<titles.length;i++)
{
bars[i]=new CommonOptionBar(titles[i],mins[i],maxs[i],curs[i]);
bars[i].addCustomeListener(this);
this.add(bars[i]);
}
}
public void inforBallChange()
{
Color color=new Color(bars[0].getValue(),bars[1].getValue(),bars[2].getValue());
Data data=new Data(color,bars[3].getValue(),bars[4].getValue());
//ballPanel.changeBallProperty(data);
}
public void customAction(CustomeEvent e)
{
currentChanged();
}
public void changeCurrentValue(Data data)
{
bars[0].setValue(data.getColor().getRed());
bars[1].setValue(data.getColor().getGreen());
bars[2].setValue(data.getColor().getBlue());
bars[3].setValue(data.getDeltaX());
bars[4].setValue(data.getDeltaY());
}
private void currentChanged() // 当前值发生变化时产生事件对象,对象中存放信息
{
Color color=new Color(bars[0].getValue(),bars[1].getValue(),bars[2].getValue());
Data data=new Data(color,bars[3].getValue(),bars[4].getValue());
CustomeEvent event=new CustomeEvent(this,data);
fireCustomAction(event);
}
public void addCustomeListener(CustomeListener listener) // 给用户提供添加监听器的接口
{
list.add(CustomeListener.class,listener);
}
public void removeCustomeListener(CustomeListener listener)
{
list.remove(CustomeListener.class,listener);
}
public void fireCustomAction(CustomeEvent event)
{ // 将事件对象从事件列表中取出来
EventListener[] listeners=list.getListeners(CustomeListener.class);
for(int i=0;i<listeners.length;i++)
{
((CustomeListener)listeners[i]).customAction(event);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
.rar (29个子文件)
运动的小球
MainFrame.java 1KB
SizePanel.java 776B
FrameCenter.java 1KB
OptionPanel.java 2KB
CustomeEvent.java 452B
Data.java 455B
BallPanel.java 2KB
yan
domain
ButtonsPanel$2.class 829B
BallPanel.class 3KB
BallPanel$1.class 1KB
ButtonsPanel.class 1KB
SizePanel$1.class 821B
ButtonsPanel$3.class 575B
MainFrame.class 2KB
Ball.class 2KB
SizePanel.class 1KB
ButtonsPanel$1.class 830B
common
FrameCenter.class 590B
ButtonsPanel.java 1KB
CommonOptionBar.java 2KB
CustomeListener.java 150B
li
option
OptionPanel.class 2KB
event
CustomeEvent.class 574B
CustomeListener.class 203B
domain
Data.class 588B
common
CommonOptionBar$2.class 979B
CommonOptionBar.class 3KB
CommonOptionBar$1.class 1KB
Ball.java 2KB
共 29 条
- 1
资源评论
woye2008
- 粉丝: 10
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功