2012-06-29 152 views
0

我的问题是,当我运行在处理我的电脑重新启动下面的代码..计算机重新启动时,启动处理程序

import java.awt.AWTException; 
import java.awt.Robot; 

Robot robot; 

void setup() { 
    size(400, 400); 
    try { 
    robot = new Robot(); 
    } 
    catch (AWTException e) { 
    e.printStackTrace(); 
    } 
    robot.mouseMove(screenWidth/2, screenHeight/2); 
} 

void draw() { 
    //println(frameCount); 
} 

我已经试过另一台计算机上相同的代码,它完美地工作..任何人任何建议?

+0

尝试重新安装Java和AWT。在任何情况下,你的代码都很好,所以我会建议把它移到超级用户那里,以便你可以获得更好的帮助。另外,你在运行什么操作系统和Java版本? – slugonamission

+0

Java已重新安装,仍然无法正常工作。如何重新安装AWT?我正在运行Ubuntu 12.04 LTS和openjdk-6 – acidghost

+0

解决! :)我已经将preferences.txt文件修改为〜/ .processing文件夹,并将其添加到'preproc.imports.list'和'java.awt。*'库中,并在代码中注释了两个import子句。现在,它的工作原理,但这不是一个好的和明确的解决方案.. – acidghost

回答

0

下面是如何解决的,以供将来参考。


我已经修改了preferences.txt文件到〜/ .processing文件夹 加入到外地preproc.imports.list的java.awt中。*库和 评论在两个进口条款码。现在,它的工作原理,但这种 是不是一个很好的和明确的解决办法..

1

您需要使用

Robot [whatever name preferably r] = new Robot(); 

robot = new Robot(); 
+0

改变变量声明的范围似乎不会对“机器重新启动”这样庞大的副作用产生任何影响。如果你有理由相信它是真的,那么通过解释这个答案就可以得到改善。 –

+0

正如你可以在上面的评论中看到的,我通过编辑处理文件夹中的首选项文件并评论导入语句来解决这个问题。但是这不是一个很好和优雅的解决方案..任何想法? – acidghost

+0

此外,您的建议没有任何意义,因为我将机器人变量声明为全局范围内的Robot类型,所以我不必在setup()函数中重新声明它! – acidghost