java中如何从Color属性字符串中获取颜色Color
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何从Color属性字符串中获取颜色Color相关的知识,希望对你有一定的参考价值。
textArea.getForeground():从一个文本框中获取Color属性
得到字符串值为: java.awt.Color[r=182,g=169,b=48]
再使用方法 textArea.setForeground(Color.getColor(FontAtt[0]))时,获取值为null,请问是为什么?应该如何获取,设置颜色成功呢?
FontAtt[0]中的值是上面获取的那个字符串值 。
我把这个字符串值写到了文件里,现在又从文件中读出来了,所以不知道怎么从字符串中提取这三个整数值。
int r=182;
int g=169;
int b=48;
textArea.setForeground(new Color(r,g,b));本回答被提问者采纳
Java从Apache poi获取excel单元格背景颜色
我正在尝试使用Apache POI在.xlsx文件中获取单元格颜色信息。
方法cellStyle.getFillBackgroundColor()
正在回归。如何将短片转换为java.awt.Color
或任何其他格式(XSSFColor
)。
最终我想根据背景颜色存储单元格的值。
Workbook workbook = WorkbookFactory.create(new FileInputStream (new File(SAMPLE_XLSX_FILE_PATH)));
Sheet sheet = workbook.getSheetAt(0);
DataFormatter dataFormatter = new DataFormatter();
sheet.forEach(row -> {
row.forEach(cell -> {
String cellValue = dataFormatter.formatCellValue(cell);
CellStyle cellStyle = cell.getCellStyle();
System.out.println(cellStyle.getFillBackgroundColor());
//Color userColor = cellStyle.getFillBackgroundColor(); //ERROR
});
System.out.println();
});
我使用的是版本3.6,我认为不支持getFillBackgroundColorColor()
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency>
使用.xlsx电子表格,您可以调用the getFillBackgroundColorColor
(2 "Color" words)方法。它返回一个org.apache.poi.ss.usermodel.Color
(不是一个非常有用的接口),XSSFColor
实现。然后你可以把它作为XSSFColor
。
XSSFColor = (XSSFColor) cellStyle.getFillBackgroundColorColor();
或者,再次使用.xlxs电子表格,您可以将CellStyle
转换为XSSFCellStyle
,而XSSFCellStyle
的getFillBackgroundColorColor
方法直接返回XSSFColor
。它也有getFillBackgroundXSSFColor
做同样的事情。
获取背景填充颜色。
注意 - 许多单元格实际上填充了前景填充,而不是背景填充 - 请参阅
getFillForegroundColor()
请注意,实心填充是作为前景色实现的,因此前景色可能是您真正想要的。前景色有补充方法,例如: getFillForegroundColorColor
。
以上是关于java中如何从Color属性字符串中获取颜色Color的主要内容,如果未能解决你的问题,请参考以下文章