javafont,java font設置字體大小

本文目錄一覽:

Java 關於Font類的字體設置

import java.awt.BorderLayout;

import java.awt.Choice;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Frame;

import java.awt.GraphicsEnvironment;

import java.awt.Label;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;import javax.swing.JLabel;public class Test_24 extends Frame implements ItemListener { private static final long serialVersionUID = 1L;

Choice c;

JLabel l; public static void main(String[] args) {

new Test_24(); } public Test_24() {

super();

initialize();

} private void initialize() {

this.setSize(300, 200);

this.setTitle(“Frame”);

GraphicsEnvironment g = GraphicsEnvironment

.getLocalGraphicsEnvironment();

String fontName[] = g.getAvailableFontFamilyNames();

c = new Choice();

for (int i = 0; i fontName.length; i++)

c.add(fontName[i]);

l = new JLabel(“”, JLabel.CENTER);

this.add(c, BorderLayout.NORTH);

this.add(l, BorderLayout.CENTER);

this.setVisible(true);

c.addItemListener(this);

this.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

}

});

} public void itemStateChanged(ItemEvent e) {

String name = (String) e.getItem();

System.out.println(name);

Font f = new Font(name, Font.ITALIC, 40);

l.setForeground(Color.red);

l.setFont(f);

l.setText(“測試字體”);

double x=l.getLocation().getX();

double y=l.getLocation().getY();

int h = l.getSize().height;

int w = l.getSize().width;

System.out.println(x+”,”+y);

System.out.println(h+”,”+w);

}}

為什麼java 中我用了font沒有改變字體只能改變自形和大小

很簡單,因為你把一個表達式fontName[id_font]用雙引號括起來了。變成了一個字元串常量”fontName[id_font]”  .  而用這個字元串常量,根本就找不到對應字體,所以無法更改字體

解決辦法去掉雙引號即可

java中如何讀取ttf字體文件,生成Font數組

1.讀取

import java.awt.Font;

import java.io.File;

import java.io.FileInputStream;

public class Loadfont

{

public static Font loadFont(String fontFileName, float fontSize) //第一個參數是外部字體名,第二個是字體大小

{

try

{

File file = new File(fontFileName);

FileInputStream aixing = new FileInputStream(file);

Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, aixing);

Font dynamicFontPt = dynamicFont.deriveFont(fontSize);

aixing.close();

return dynamicFontPt;

}

catch(Exception e)//異常處理

{

e.printStackTrace();

return new java.awt.Font(“宋體”, Font.PLAIN, 14);

}

}

public static java.awt.Font Font(){

String root=System.getProperty(“user.dir”);//項目根目錄路徑

Font font = Loadfont.loadFont(root+”/data/PRISTINA.ttf”, 18f);//調用

return font;//返回字體

}

public static java.awt.Font Font2(){

String root=System.getProperty(“user.dir”);//項目根目錄路徑

Font font = Loadfont.loadFont(root+”/data/XXXX.ttf”, 18f);

return font;//返回字體

}

}

2.轉換:

public static String ascii2native(String ascii) {

int n = ascii.length() / 6;

StringBuilder sb = new StringBuilder(n);

for (int i = 0, j = 2; i n; i++, j += 6) {

String code = ascii.substring(j, j + 4);

char ch = (char) Integer.parseInt(code, 16);

sb.append(ch);

}

return sb.toString();

}

原創文章,作者:EHAUB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324979.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EHAUB的頭像EHAUB
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論