java new font 使用jdk中
时间: 2024-03-01 20:53:52 浏览: 23
要在Java中使用自定义字体,需要先将字体文件加载到程序中,然后使用该字体文件创建字体对象。可以使用以下代码将字体文件加载到程序中:
```java
InputStream fontStream = getClass().getResourceAsStream("path/to/font.ttf");
Font customFont = Font.createFont(Font.TRUETYPE_FONT, fontStream);
```
在上面的代码中,`fontStream`是字体文件的输入流,`path/to/font.ttf`是字体文件的相对路径。`Font.createFont()`方法会返回一个`Font`对象,该对象可以用于在应用程序中使用自定义字体。
要在应用程序中使用自定义字体,可以使用以下代码:
```java
Font customFont = new Font("CustomFont", Font.PLAIN, 16);
```
在上面的代码中,`CustomFont`是自定义字体的名称,`16`是字体的大小,`Font.PLAIN`表示字体样式为普通样式。
最后,将自定义字体应用到组件上,可以使用以下代码:
```java
component.setFont(customFont);
```
相关问题
jdk1.5对excel加密_java对生成的Excl进行加密
在JDK1.5中,Apache POI库可以使用,但是加密API可能不可用,因为JDK1.5中使用的是旧版的加密算法,而POI库中的加密API可能需要更新的算法。因此,您可能需要使用其他第三方库来实现Excel文件的加密。
例如,您可以使用JExcel API库来对Excel文件进行加密。以下是一个简单的示例:
```java
import java.io.File;
import java.io.IOException;
import jxl.CellView;
import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class ExcelEncryptionExample {
public static void main(String[] args) throws IOException, WriteException {
// 创建一个新的Excel工作簿
WritableWorkbook workbook = Workbook.createWorkbook(new File("encrypted.xls"));
// 创建一个新的工作表
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
// 向工作表中添加一些数据和格式化
// 创建一个加密字体
WritableFont font = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE);
// 创建一个加密单元格格式
WritableCellFormat cellFormat = new WritableCellFormat(font);
// 设置加密密码
sheet.getSettings().setPassword("password");
// 将数据和格式写入工作表中
Label label = new Label(0, 0, "Hello World!", cellFormat);
sheet.addCell(label);
// 调整单元格视图
CellView cellView = new CellView();
cellView.setAutosize(true);
sheet.setColumnView(0, cellView);
// 关闭工作簿
workbook.write();
workbook.close();
}
}
```
在上面的示例中,我们使用JExcel API库创建了一个新的Excel工作簿,并使用WritableSheet和WritableCellFormat对象将其加密。在这个例子中,我们使用了sheet.getSettings().setPassword("password")方法来设置加密密码。
最后,我们将加密后的工作簿写入一个文件,并关闭工作簿。现在,生成的Excel文件将受到密码保护,只有知道密码的人才能打开和编辑文件。
java在jdk1.8环境中裁剪ttc文件中几个执行的关键字到新的字体文件(ttc或者ttf或者其他字体文件)
Java 8 中可以使用 Font.createFont() 方法来加载 TrueType Collection (TTC) 字体文件,并通过 Font.deriveFont() 方法裁剪其中的某个字体,然后将裁剪后的字体保存到新的字体文件中。
以下是一个示例代码,演示如何从 ttc 文件中裁剪关键字字体并保存到 ttf 文件中:
```java
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class FontClipper {
public static void main(String[] args) {
try {
// 加载 TTC 字体文件
Font font = Font.createFont(Font.TRUETYPE_FONT, new File("myfont.ttc"));
// 裁剪字体
Font clippedFont = font.deriveFont(24f).deriveFont(Font.PLAIN);
// 创建 GraphicsEnvironment 对象
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
// 注册裁剪后的字体
ge.registerFont(clippedFont);
// 获取字体文件路径
String fontFilePath = clippedFont.getFontName() + ".ttf";
// 保存裁剪后的字体文件
FileOutputStream fos = new FileOutputStream(fontFilePath);
clippedFont.deriveFont(Font.PLAIN).createGlyphVector(fos, "Test").getFont().createFont(Font.TRUETYPE_FONT, fos);
fos.close();
System.out.println("已保存裁剪后的字体文件:" + fontFilePath);
} catch (FontFormatException | IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先加载 ttc 字体文件,然后使用 Font.deriveFont() 方法裁剪字体。接着,我们创建 GraphicsEnvironment 对象并注册裁剪后的字体。
然后,我们使用裁剪后的字体创建一个新的字体文件(ttf),并将其保存到磁盘上。最后,我们输出保存的字体文件路径。
需要注意的是,保存新字体文件时,需要使用字体中包含的字符来创建 GlyphVector。在上面的示例中,我们使用 "Test" 字符串。如果要保存的字体不包含任何字符,可以使用空字符串作为参数。