GUI和事件侦听的好几个问题QAQ

Fulora 2012-09-23 06:28:21
第一次接触这种真的看不大懂,求前辈指点一下,谢谢了


import java.awt.*;
import java.applet.*;
/*
点一下Color按钮就改变mycanvas的颜色
*/
public class CanvasTest extends Applet
{
MyCanvas mycanvas=new MyCanvas();
public void init()
{
setLayout(new BorderLayout());
Button button = new Button("Color");
add("West",new Button("papapa"));//加入的这个按钮为什么就没有反应..
add("North",button); //为什么这个按钮有反应,看不出和上面那个有什么区别
add("Center",mycanvas);
resize(200,200);
}
public boolean action(Event evt, Object arg)//经常看到这个函数,两个参数究竟想表达什么
{
if(arg=="Color")
mycanvas.swapColor();
return true;
}
}

class MyCanvas extends Canvas
{
Color color;
public MyCanvas()
{
color=Color.red;
}
public void paint(Graphics g)
{
g.setColor(color);
g.fillRect(20,20,100,100);
g.setColor(Color.GREEN);
g.drawString("CANVAS",40,40);
}
public void swapColor()
{
if(color==Color.black)
color=Color.red;
else
if(color==Color.red)
color=Color.green;
else
color=Color.black;
repaint();
}
}


...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nj_dobetter 2012-09-25
  • 打赏
  • 举报
回复
因为这个方法设计的不够合理。
Java doc建议使用新的ActionListener来为Button添加事件响应。

[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

public boolean action(Event evt, Object arg);
是java.awt.Component的方法,已经不建议使用了,用来处理子控件的action吧.


为什么不建议使用?
[/Quote]
baiyu110 2012-09-25
  • 打赏
  • 举报
回复
貌似你的action里面没有处理papapa这个按钮..
还有, action方法已经过时.
清墨无痕 2012-09-23
  • 打赏
  • 举报
回复
用action 很方便的
Fulora 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

public boolean action(Event evt, Object arg);
是java.awt.Component的方法,已经不建议使用了,用来处理子控件的action吧.
[/Quote]

为什么不建议使用?
nj_dobetter 2012-09-23
  • 打赏
  • 举报
回复
public boolean action(Event evt, Object arg);
是java.awt.Component的方法,已经不建议使用了,用来处理子控件的action吧.

62,612

社区成员

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

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