如何用Jemmy获取java table row/cell/text的颜色,字体?
How to get colour, font of java table row/cell/text with Jemmy?
需要在 swing 应用程序中检查 java table(文本、背景)的 colour/font 样式,因为行的样式应取决于列值。
可以获取选中(cell/row)的字体和背景颜色:
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]
但是 selected cell/row 有自己的选择风格,所以这个检查变得很没用。
使用 Jemmy 库完成任何 cell/row(不仅仅是选择)的样式检查的方法是什么?
渲染器用于绘制 table 中的每个单元格。您应该能够使用类似以下代码访问用于呈现单元格的组件:
TableCellRenderer renderer = table.getCellRenderer(row, column);
Component c = table.prepareRenderer(renderer, row, column);
System.out.println(c.getBackground());
需要在 swing 应用程序中检查 java table(文本、背景)的 colour/font 样式,因为行的样式应取决于列值。
可以获取选中(cell/row)的字体和背景颜色:
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]
但是 selected cell/row 有自己的选择风格,所以这个检查变得很没用。
使用 Jemmy 库完成任何 cell/row(不仅仅是选择)的样式检查的方法是什么?
渲染器用于绘制 table 中的每个单元格。您应该能够使用类似以下代码访问用于呈现单元格的组件:
TableCellRenderer renderer = table.getCellRenderer(row, column);
Component c = table.prepareRenderer(renderer, row, column);
System.out.println(c.getBackground());