我正在编写一个swing应用,当执行某些方法时,我希望有“ wait”光标。我们可以这样:
public void someMethod() {
MainUI.getInstance().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
//method code
MainUI.getInstance().setCursor(Cursor.getDefaultCursor());
}
我想要实现的是一个Java批注,该批注将在方法执行之前设置等待游标,并在执行后将其设置回正常状态。所以前面的例子看起来像这样
@WaitCursor
public void someMethod() {
//method code
}
我怎样才能做到这一点?也欢迎提出有关解决此问题的其他方法的建议。谢谢!
PS-我们在项目中使用Google Guice,但我不知道如何使用它来解决问题。如果有人为我提供类似问题的简单示例,那将非常有帮助
您可以使用AspectJ,也可以使用带有自己的AOP的Google Guice。
具有注解方法注解的对象WaitCursor
必须注入Guice。
您定义注释
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface WaitCursor {}
您添加一个MethodInterceptor:
public class WaitCursorInterceptor implements MethodInterceptor {
public Object invoke(MethodInvocation invocation) throws Throwable {
// show the cursor
MainUI.getInstance().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
// execute the method annotated with `@WaitCursor`
Object result = invocation.proceed();
// hide the waiting cursor
MainUI.getInstance().setCursor(Cursor.getDefaultCursor());
return result;
}
}
并定义一个模块,在其中将拦截器绑定到具有注释的任何方法上。
public class WaitCursorModule extends AbstractModule {
protected void configure() {
bindInterceptor(Matchers.any(), Matchers.annotatedWith(WaitCursor.class), new WaitCursorInterceptor());
}
}
您可以在此页面上看到更多高级用法
如果你希望在每次运行 Puppet 之前执行命令,可以在配置文件中使用 prerun_command 配置。 类似地,你也可以使用 postrun_command 配置运行 Puppet 之后需要执行的命令。 这种机制为 Puppet 与其他软件的集成提供了强大的钩子,甚至可以触发其他机器上的事件。 prerun 和 postrun 命令必须能成功运行(即其返回的状态码为 0),否则 Puppet
我正在尝试使用Complettable Future异步运行两个任务。该程序异步运行,因此a()和b()以任何顺序同时首先运行。但是c()只能在a()或b()之一完成后运行 我不熟悉CompletableFuture API,有没有办法检查其中一个任务是否完成并调用下一个方法C?
我正在Java的Android应用程序中工作,其中调用类并在OnCreateView方法中进行测量。然而,一旦完成,我必须自动发送他的测量结果。但我不能。是否有继承自:java.lang.对象android.app.片段的方法,可以在OncreateView进程之后执行函数。因为目前数据已经发送,但还没有时间填充。 谢谢你的帮助
维基百科和其他一些网站将口译员描述为将代码从某种高级语言翻译成某种低级语言的翻译人员。然而,有很多解释,包括stackoverflow,它说解释器直接执行作为输入的指令,而无需事先转换。那么,解释器是像编译器一样的翻译器,还是像CPU一样的执行器呢?
问题内容: ExpressJS中间件,,有像钩子和。 但是我正在寻找和方法的挂钩。 问题答案: 和中间件可用于“ 之前 ”,而and 事件的组合可用于“ 之后” 。 中间件就是一个例子,默认情况下,它将在响应后追加到日志中。 只需确保先使用此“ 中间件 ”即可,因为顺序很重要。
testng.xml 底座 我已经使用maven在libs包中复制了所有的依赖项,并且我已经验证了selenium-docker.jar和selenium-docker-tests.jar中存在所有的main和test编译类 为创建selenium-docker.jar和selenium-docker-tests.jar而运行的命令: 用于创建Docker图像的命令: 运行测试的命令: 输出 [D