是否需要在事件队列上运行Robot方法?

机器人是AWT库的一部分,但它似乎与大多数库的其余部分完全不同。 我正在创建一个Swing GUI,它将Swing与Java Native Access(JNA)和Robot混合在一起,以允许Java驱动某些MS Windows / Citrix工作程序。 我的直觉是,因为Robot会在“平台的本机输入队列”上排队事件,我想要做的最后一件事是在EDT上运行它,但另一方面,AWT和Swing库中的大多数类应该在Swing事件线程上运行。 因此,为了让我在脑海中澄清这一点,请让我尽可能具体地问一个问题: 机器人方法(特别是按键和释放,鼠标移动,鼠标按下和释放)是否应该在Swing事件调度线程(EDT)上运行?

从excel单元格中读取日期值作为String

我正在使用apache poi库来读取excel文件。 我在读密码单元时卡住了。 如果用户在密码单元格中提供日期作为密码,即16/05/2012。 我将此值读为“41045”,而值应为“16/05/2012”。 这是我的代码: cell = row.getCell(); // date in the cell password ’16/05/2012′ switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: cellValue = cell.getRichStringCellValue().getString(); break; case HSSFCell.CELL_TYPE_NUMERIC: if(cellCount == TEMPLATE_PASSWORD) {// if cell is password cell.setCellType(Cell.CELL_TYPE_STRING); cellValue = cell.getRichStringCellValue().getString(); // value read is 41045 and not “16/05/2012” } break; default: } 任何人都可以帮忙吗? 谢谢。

在java中有什么“@Override”?

public class Animal { public void eat() { System.out.println(“I eat like a generic Animal.”); } } public class Wolf extends Animal { @Override public void eat() { System.out.println(“I eat like a wolf!”); } } @Override实际上是否有某些function,或者它只是有点评论?

头脑风暴:奇怪的JPA问题,可能是classpath或jar版本问题?

我看到一个奇怪的错误消息,我正在寻找一些关于问题可能是什么的想法。 我对使用JPA有点新意。 我有一个应用程序,我使用Spring的Entity Manager Factory(LocalContainerEntityManagerFactoryBean),EclipseLink作为我的ORM提供程序,连接到MySQL DB并使用Maven构建。 我不确定这些是否重要…… 当我将此应用程序部署到Glassfish时,应用程序按预期工作。 问题是,我创建了一组独立的unit testing,以便在Glassfish之外运行,但这些测试无法正常工作。 我收到以下错误( 我已经编辑了一些类名 ) com.xyz.abc.services.persistence.entity.MyEntity cannot be cast to com.xyz.abc.services.persistence.entity.MyEntity 该对象不能转换为相同类型的类? 怎么可能? 这是一段错误的代码片段 Query q = entityManager.createNamedQuery(“MyEntity.findAll”); List entityObjects = q.getResultList(); for (Object entityObject: entityObjects) { com.xyz.abc.services.persistence.entity.MyEntity entity = (com.xyz.abc.services.persistence.entity.MyEntity) entityObject; 以前,我有这个代码产生相同的错误: CriteriaQuery cq = entityManager.getCriteriaBuilder().createQuery(); cq.select(cq.from(com.xyz.abc.services.persistence.entity.MyEntity.class)); List entityObjects = entityManager.createQuery(cq).getResultList(); for (Object entityObject: entityObjects) { […]

java中 .length的时间复杂度或隐藏成本

我在java中查看一个项目,发现了一个for循环,如下所示: for(int i=1; i<a.length; i++) { ……….. ……….. ……….. } 我的问题是:计算a.length (这里是数组名称)是否代价高昂? 如果没有那么a.length是如何在内部计算的(意味着JVM如何确保O(1)访问它)? 是类似于: int length = a.length; for(int i=1; i<length; i++) { ……….. ……….. ……….. } 就像访问函数内部的局部变量值一样。 谢谢。

使用WSDL中的jaxb2-maven-plugin生成类

我无法配置jaxb2-maven-plugin来从WSDL和多个XSD文件生成Java类,这些文件都存在于同一标准目录src/main/xsd 。 如何使用内联XSD的jaxb2 maven插件? 只是因为答案正确地建议在插件配置中使用wsdl参数,但该问题确实与内联XSD有关,而我的XSD是外部的。 此处列出了插件目标参数。 我的插件配置是: org.codehaus.mojo jaxb2-maven-plugin 1.5 xjc xjc com.xymodel true 我用mvn -X clean jaxb2:xjc测试这个,但插件忽略了.wsdl如调试输出中所示 [DEBUG] accept false for file c:\projects\foo\src\main\xsd\service.wsdl [DEBUG] accept true for file c:\projects\foo\src\main\xsd\datatypes.xsd [DEBUG] accept true for file c:\projects\foo\src\main\xsd\more-datatypes.xsd

如何配置jdk14日志记录的模式

我想我可以通过添加行java.util.logging.ConsoleHandler.pattern来设置模式,但是在哪里检查模式信息,如%u%h等?

如何使用Apache POI检查excel单元格是否为空?

我正在使用Poi.jar从excel表中获取输入,并想知道如何检查单元格是否为空。 现在我使用下面的代码。 cell = myRow.getCell(3); if (cell != null) { cell.setCellType(Cell.CELL_TYPE_STRING); //System.out.print(cell.getStringCellValue() + “\t\t”); if (cell.getStringCellValue() != “”) depend[p] = Integer.parseInt(cell.getStringCellValue()); } }

如何使用hibernate条件实现使用内部联接对象选择查询

我是Hibernate和Criteria Query的新手。 所以我在HQL中实现了查询: select A.mobilephone B.userNick C.creditCard from mobile_table A inner join user_table B on A.codmobile=B.codmobile inner join Credit C on A.mobileCredit= C.mobileCredit 如何使用Hibernate Criteria Object实现它?

什么是一个很好的Java压缩库?

我需要压缩部分应用程序的网络流量以提高性能。 我认为这意味着我需要远离一些较新的算法,比如bzip2,我认为我听说它比较慢。