JAVA一个线程控制多个JLabel移动问题 140
jp.add(qiu);//普通添加的//用这个for我添加了9个对象名为qiu的JLabelfor(inti=0;i<9;i++){ck.add(qiu=newJLab...
jp.add(qiu);//普通添加的
//用这个for我添加了9个对象名为qiu的JLabel
for(int i=0;i<9;i++){
ck.add( qiu=new JLabel(qiuimage));
System.out.println("a");
}
//但是线程只对普通添加的qiu有效果,对那个用for添加的qiu无效果
public void run(){
for(;;){
qiu.setBounds(qiu.getX()-speedX,qiu.getY()-speedY,30,30);
//设置qiu的坐标
怎么样才可以?
弄10线程?(不可能!)
new十个JLabel?(应该不是吧?)
漏了一点,那个ck.add是jp.add忘改了,为了方便看改成了jp.add
带张图吧,9个球重叠在了一起,这九个球没有移动,只有一个普通添加的球在移动,
当它们碰到窗口边缘时会反弹,带码就不贴出来了
就像坦克大战,一个线程控制多个相同的敌方坦克移动。
敌方坦克图片移动攻击方式都一样,这里是一个线程控制多个小球移动,如何才能实现 展开
//用这个for我添加了9个对象名为qiu的JLabel
for(int i=0;i<9;i++){
ck.add( qiu=new JLabel(qiuimage));
System.out.println("a");
}
//但是线程只对普通添加的qiu有效果,对那个用for添加的qiu无效果
public void run(){
for(;;){
qiu.setBounds(qiu.getX()-speedX,qiu.getY()-speedY,30,30);
//设置qiu的坐标
怎么样才可以?
弄10线程?(不可能!)
new十个JLabel?(应该不是吧?)
漏了一点,那个ck.add是jp.add忘改了,为了方便看改成了jp.add
带张图吧,9个球重叠在了一起,这九个球没有移动,只有一个普通添加的球在移动,
当它们碰到窗口边缘时会反弹,带码就不贴出来了
就像坦克大战,一个线程控制多个相同的敌方坦克移动。
敌方坦克图片移动攻击方式都一样,这里是一个线程控制多个小球移动,如何才能实现 展开
展开全部
一 事件
1.1 事件源
图形用户界面上每个可能产生事件的组件称为事件源。
1.2 事件监听者
Java系统中注册的用于接收特殊事件的类。不同的事件对应着不同的监听者,要想事件被监听者监听并处理,则需先将事件源注册到监听者。
1.3 事件处理流程
事件源触发事件并将事件作为一个参数传递给监听者,监听者实现某个接口中的抽象方法,从而实现对事件的处理。Java的事件处理机制是一个委托事件模型。
事件源注册的方法如下:
public void addActionListener(ActionListener l)
添加特定的动作,监听接收来自事件源的动作事件,如果l为空,不会产生任何动作。
监听者实现的接口为ActionListener接口,接口ActionListener来自包java.awt.event。
在此接口中只有一个方法:
public void actionPerformed(ActionEvent e)
当事件对象e发生时,调用此方法。监听者就需要实现这个方法。
1.4 动作事件
ActionEvent包含一个事件,该事件为执行动作事件ACTION_PERFORMED。触发这个事件的动作为:
(1) 点击按钮。
(2) 双击列表中的选项。
(3) 选择菜单项。
(4) 在文本框中输入回车。
常用方法如下:
public String getActionCommand() 返回引发某个事件的命令按钮的名字,如果名字为空,那么返回标签值。
public void setActionCommand(String command) 设置引发事件的按钮的名字,默认设置为按钮的标签。
例:测试动作事件
View Code
点击按钮对象1 ,点击按钮对象2
1.1 事件源
图形用户界面上每个可能产生事件的组件称为事件源。
1.2 事件监听者
Java系统中注册的用于接收特殊事件的类。不同的事件对应着不同的监听者,要想事件被监听者监听并处理,则需先将事件源注册到监听者。
1.3 事件处理流程
事件源触发事件并将事件作为一个参数传递给监听者,监听者实现某个接口中的抽象方法,从而实现对事件的处理。Java的事件处理机制是一个委托事件模型。
事件源注册的方法如下:
public void addActionListener(ActionListener l)
添加特定的动作,监听接收来自事件源的动作事件,如果l为空,不会产生任何动作。
监听者实现的接口为ActionListener接口,接口ActionListener来自包java.awt.event。
在此接口中只有一个方法:
public void actionPerformed(ActionEvent e)
当事件对象e发生时,调用此方法。监听者就需要实现这个方法。
1.4 动作事件
ActionEvent包含一个事件,该事件为执行动作事件ACTION_PERFORMED。触发这个事件的动作为:
(1) 点击按钮。
(2) 双击列表中的选项。
(3) 选择菜单项。
(4) 在文本框中输入回车。
常用方法如下:
public String getActionCommand() 返回引发某个事件的命令按钮的名字,如果名字为空,那么返回标签值。
public void setActionCommand(String command) 设置引发事件的按钮的名字,默认设置为按钮的标签。
例:测试动作事件
View Code
点击按钮对象1 ,点击按钮对象2
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询