java - 如何使用Jemmy获取java表格行/单元格/文本的颜色、字体?

标签 java swing automated-tests jemmy

需要检查 Swing 应用程序中 Java 表(文本、背景)的颜色/字体样式,因为行样式应取决于列值。

styled jTable

可以获取所选(单元格/行)的字体和背景颜色:

mainTable.selectCell(0, 0);
String bgcol = mainTable.getSelectionBackground().toString();  // => javax.swing.plaf.ColorUIResource[r=51,g=153,b=255]
String fgcol = mainTable.getSelectionForeground().toString();  // => javax.swing.plaf.ColorUIResource[r=255,g=255,b=255]    

但是选定的单元格/行有其自己的选择样式,因此此检查变得毫无用处。

使用 Jemmy 库完成任何单元格/行(不仅仅是选定的)样式检查的方法是什么?

最佳答案

渲染器用于绘制表中的每个单元格。您应该能够使用如下代码访问用于渲染单元格的组件:

TableCellRenderer renderer = table.getCellRenderer(row, column);
Component c = table.prepareRenderer(renderer, row, column);
System.out.println(c.getBackground());

关于java - 如何使用Jemmy获取java表格行/单元格/文本的颜色、字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37430947/

相关文章:

java - 如何检查 ArrayMap.keySet() 是否包含某个变量+正则表达式?

java - 如何更新 POJO 中的任意字段?

testing - 在QTP中,我们是否可以只使用共享对象存储库并禁用本地存储库?

java - DocumentFilter 只允许将数字和句点 (.) 放入 JTextField 中?

java - 在 Eclipse 中提交之前自动运行 JUnit 测试

java - 在 Groovy 中使用 if-else 语句 - spock 测试

java - 如何在 Apache POI 3.7 版本以上的工作簿、工作表和 HSSF 类的单元格中设置字符编码?

java - 我可以从解决这个 FizzBu​​zz 式问题的解决方案中消除嵌套的 if-else 吗?

java - CardLayout 与使用多个外部 jpanel 的 netbeans

java - java小程序中的多个绘图区域