若能解决这个问题,我就找Sun要钱了;
还要"高分"干什么。
如果是某个具体的java程序速度问题,倒是有可能的。
还要"高分"干什么。
如果是某个具体的java程序速度问题,倒是有可能的。
解决方案 »
- 求助文件内容的读取
- 如何改变JFileChooser 中的 showDialog的标题和确认按钮名
- 求进程调度编程
- java应用程序中使用odbc数据源连接数据库,如何获取已经定义的odbc数据源的用户名和密码?
- 如何把一个新建的线程归到一个线程组中??
- 关于进度条和线程?(一定要帮忙,绝对给高分)
- 菜鸟请求帮助:JCreator怎样调试Bean或jsp页面
- 计算器功能的实现?怎样在循环监听中实现加减乘除...
- 关于java socket类的问题,请大家帮忙!!
- 正则表达式堆栈溢出怎么破
- 设置jdk的path时把原来的的path删了怎么办?
- 工科专业用什么语言或工具最好,我学的是电气工程及其自动化
还要"高分"干什么。
如果是某个具体的java程序速度问题,倒是有可能的。
"如果是某个具体的java程序速度问题,倒是有可能的。 "
要的就是这个,怎么做?比如在Canvas上左击鼠标出现一个圆,连续左击结果出现的好慢,怎么办?
谢谢!
这里有诸多高手,比如luodi。问问他们吧。
实在不好意思,浪费了你的时间。
所以。
呵,谦虚呀!
我也只想大家来共同探讨,不知者无罪,知者不吝啬!
(声明:我是一个大大的JAVA菜鸟,以前会点ASP)
确实,我认为luodi是个高手(从luodi的回答问题的内容可以看出来)。
另外,说luodi是高手,不等于说java方面luodi什么都会(“不要骄傲,知道吗?”--这句话是谁说的,知道吗?),只是luodi知道的可能性大一些。
共同进步吧...
你提的问题我还是不明白:这个圆是怎么画出来的,什么时候画?一单击鼠标就画?有没有动画?你把程序贴出来,我帮你改进performance
import java.awt.*;
import java.awt.event.*;
public class five extends Applet
{cCanvas c=new cCanvas();public void init()
{setLayout(new BorderLayout());
c.setBackground(Color.white);
c.setSize(500,500);
c.setVisible(true);
add("Center",c);
c.addMouseListener(new mouselistener());
c.addMouseMotionListener(new kolistener());
}class cCanvas extends Canvas
{int x,y;
boolean mc;
boolean Sign=true;
public void paint(Graphics g)
{if(Sign=true)
for(int i=30;i<=420;i+=30)
for(int j=30;j<=420;j+=30)
g.drawRect(i,j,30,30);
if(mc==true)
{g.setColor(Color.lightGray);
g.fillOval(x,y,28,28);
}
}
public void xiaqi(int a,int b)
{x=a-15;
y=b-15;
repaint();
}
}
class mouselistener implements MouseListener
{int x1[]=new int[225];
int y1[]=new int[225];
int i=0;
public void mouseClicked(MouseEvent e)
{x1[i]=e.getX();
y1[i]=e.getY();
boolean xx,yy;
xx=(x1[i]%30<=2)||(x1[i]%30<=2);
xx=xx&&(x1[i]>=13)&&(x1[i]<=437);
yy=(y1[i]%30<=2)||(y1[i]%30<=2);
yy=yy&&(y1[i]>=13)&&(y1[i]<=437); if(xx&&yy)
{c.mc=true;
c.Sign=false;
c.xiaqi(x1[i],y1[i]);
i=i+1;
}
}public void mousePressed(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{}
public void mouseExited(MouseEvent e)
{}
public void mouseReleased(MouseEvent e)
{}
}
class kolistener implements MouseMotionListener
{
public void mouseMoved(MouseEvent e)
{ }
public void mouseDragged(MouseEvent e)
{}
}}
而许多JAVA 开发工具都用的是JIT编译器
你是下围棋的程序吧?说实话,你的思路看起来很不清晰,我还要理一理。
你if(Sign=true)这一句错了,应该是if(Sign==true)。就是这一句使得每次paint()都要画那么多格子。
你不要到处用屏幕坐标,写程序随时都应该以数学模型为基础,在这里就是说以棋盘坐标为基础,处理起来坐标范围是0..19.只有到显示的时候才去考虑屏幕坐标。
performance太差的时候经常是程序写错了。我有过这样的事情的,做lzh的压缩算法,半个小时压一兆,原来还以为java就是这样的速度呢,后来发现原来是有bug,不算到出错就死循环,直到出错才跳出来,而等他出错要等半个小时,哈哈。后来改了一下,立马快了几十倍
呵,多谢!
我的机器是PII255,128M,WIN2000
算法问题,我确实很笨的,听君一席话,胜读几年书.(发自内心的,以前不知道数据结构是干什么用的,这下才明白了)