欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java修改JFrame默認(rèn)字體方式

 更新時(shí)間:2021年11月12日 09:46:35   作者:sinolzeng  
這篇文章主要介紹了java修改JFrame默認(rèn)字體方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java修改JFrame默認(rèn)字體

修改默認(rèn)字體的方法很簡單。首先我們隨便寫一個(gè)按鈕出來:

import javax.swing.*; 
public class Test{
       static final int WIDTH = 300;
       static final int HEIGHT = 200;
       public static void main(String[] args){
             JFrame jf = new JFrame();
             jf.setVisible(true);
             jf.setSize(WIDTH,HEIGHT);
             jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             JPanel jp = new JPanel();
             jf.setcontentPane(jp);
             JButton jb = new JButton("確定");
             jp.add(jb);
             jf.pack();
       }
}

接著我們可以加上這么一行:

UIManager.put("Button.font", new java.awt.Font("宋體", 0, 12));

開頭的import加上:

import javax.swing.UIManager;

這樣就可以改字體了。

字體類型和大小可以隨便改,只要電腦里有安裝就行了?!?”位置代表的是字體風(fēng)格,一般不做修改。(如斜體、加粗等,要修改的話請(qǐng)自行查閱API……我也不太記得了。。)

不建議使用網(wǎng)上的個(gè)性字體,因?yàn)檫@樣做出來的軟件程序到別的電腦上用會(huì)產(chǎn)生字體方面的問題。而且盡量少用生僻字,以免某些字體庫里沒有收錄對(duì)應(yīng)的字形。

自定義的字體可以進(jìn)行一下封裝:(下面的部分摘自網(wǎng)絡(luò))

public class FontClass {
 public static void loadIndyFont() {
  UIManager.put("CheckBox.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Tree.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Viewport.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ProgressBar.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("RadioButtonMenuItem.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("FormattedTextField.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ToolBar.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ColorChooser.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ToggleButton.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Panel.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("TextArea.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Menu.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("RadioButtonMenuItem.acceleratorFont", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Spinner.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Menu.acceleratorFont", new java.awt.Font("宋體", 0, 12));
  UIManager.put("CheckBoxMenuItem.acceleratorFont", new java.awt.Font("宋體", 0, 12));
  UIManager.put("TableHeader.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("TextField.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("OptionPane.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("MenuBar.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Button.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Label.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("PasswordField.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("InternalFrame.titleFont", new java.awt.Font("宋體", 0, 12));
  UIManager.put("OptionPane.buttonFont", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ScrollPane.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("MenuItem.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ToolTip.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("List.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("OptionPane.messageFont", new java.awt.Font("宋體", 0, 12));
  UIManager.put("EditorPane.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("Table.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("TabbedPane.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("RadioButton.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("CheckBoxMenuItem.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("TextPane.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("PopupMenu.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("TitledBorder.font", new java.awt.Font("宋體", 0, 12));
  UIManager.put("ComboBox.font", new java.awt.Font("宋體", 0, 12));
 }

然后我們只需要在我們想要使用的時(shí)候,加上一句:

FontClass.loadIndyFont();

就行了~

JFrame基本參數(shù)設(shè)置

import java.io.IOException;
import java.awt.Font;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import javax.imageio.ImageIO;
public class Frame implements WindowListener {
    public static JFrame frame;
    public Frame() {
        initialize();
    }
    
    private void initialize(){
        // 新建窗體
        frame = new JFrame();
        // 設(shè)置窗體自動(dòng)調(diào)節(jié)大小
        frame.pack();
        // 設(shè)置窗體位置、大小
        frame.setBounds(100, 100, 100, 100);
        // 設(shè)置窗體是否可調(diào)節(jié)大小
        frame.setResizable(false);
        // 設(shè)置窗體布局
        frame.getContentPane().setLayout(null);
        // 設(shè)置窗體標(biāo)題
        frame.setTitle("Frame");
        // 設(shè)置窗體字體
        frame.setFont(new Font("黑體", Font.PLAIN, 17));
        // 設(shè)置窗體在屏幕中央打開
        frame.setLocationRelativeTo(null);
        // 設(shè)置窗體默認(rèn)關(guān)閉方式為退出程序
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 設(shè)置窗體圖標(biāo)
frame.setIconImage(ImageIO.read(this.getClass().getResource("/priv/image/image.png")));
        // 設(shè)置窗體觀感(皮膚/主題)
    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        // 設(shè)置窗體是否可見
        frame.setVisible(true);
        // 添加 WindowListener
        frame.addWindowListener(this);
    }
    
    /**
     * @description 重寫 WindowListener
     * @param e
     */
    public void windowClosing(WindowEvent e) {
    }
    public void windowClosed(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowActivated(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    
    public static void main(String args[]) {
        new Frame();
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于jdk9、jdk10、jdk11、jdk12、jdk13新特性說明

    關(guān)于jdk9、jdk10、jdk11、jdk12、jdk13新特性說明

    這篇文章主要介紹了關(guān)于jdk9、jdk10、jdk11、jdk12、jdk13新特性說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Spring?Cloud原理以及核心組件詳解

    Spring?Cloud原理以及核心組件詳解

    這篇文章主要介紹了Spring?Cloud原理以及核心組件詳解,spring?cloud有5個(gè)核心組件,文章中進(jìn)行了一一的詳細(xì)介紹,需要的朋友可以參考下
    2023-03-03
  • 使用ShardingJDBC進(jìn)行數(shù)據(jù)分片以及讀寫分離

    使用ShardingJDBC進(jìn)行數(shù)據(jù)分片以及讀寫分離

    ShardingJDBC是一個(gè)輕量級(jí)的Java框架,提供了數(shù)據(jù)分片、讀寫分離、分布式主鍵生成等數(shù)據(jù)訪問功能,本文將給大家介紹如何使用ShardingJDBC進(jìn)行數(shù)據(jù)分片以及讀寫分離,需要的朋友可以參考下
    2024-01-01
  • 深入了解Java GC的工作原理

    深入了解Java GC的工作原理

    下面小編就為大家?guī)硪黄钊肓私釰ava GC的工作原理。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解

    SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 在SpringBoot中集成H2數(shù)據(jù)庫的完整指南

    在SpringBoot中集成H2數(shù)據(jù)庫的完整指南

    Spring Boot是一個(gè)簡化企業(yè)級(jí)Java應(yīng)用程序開發(fā)的強(qiáng)大框架,H2數(shù)據(jù)庫是一個(gè)輕量級(jí)的、開源的SQL數(shù)據(jù)庫,非常適合用于開發(fā)和測試,本文將指導(dǎo)您如何在Spring Boot應(yīng)用程序中集成H2數(shù)據(jù)庫,并探索一些高級(jí)配置選項(xiàng),需要的朋友可以參考下
    2024-10-10
  • java中url任意跳轉(zhuǎn)漏洞的解決

    java中url任意跳轉(zhuǎn)漏洞的解決

    URL任意跳轉(zhuǎn)漏洞是一種安全漏洞,它發(fā)生在應(yīng)用程序沒有正確地驗(yàn)證目標(biāo)URL,允許攻擊者將用戶重定向到惡意網(wǎng)站,本文就來介紹一下漏洞的解決修復(fù)方案,感興趣的可以了解一下
    2024-06-06
  • Springboot+ElementUi實(shí)現(xiàn)評(píng)論、回復(fù)、點(diǎn)贊功能

    Springboot+ElementUi實(shí)現(xiàn)評(píng)論、回復(fù)、點(diǎn)贊功能

    這篇文章主要介紹了通過Springboot ElementUi實(shí)現(xiàn)評(píng)論、回復(fù)、點(diǎn)贊功能。如果是自己評(píng)論的還可以刪除,刪除的規(guī)則是如果該評(píng)論下還有回復(fù),也一并刪除。需要的可以參考一下
    2022-01-01
  • Java中Object.equals和String.equals的區(qū)別詳解

    Java中Object.equals和String.equals的區(qū)別詳解

    這篇文章主要給大家介紹了Java中Object.equals和String.equals的區(qū)別,文中通過一個(gè)小示例讓大家輕松的明白這兩者的區(qū)別,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • 為什么wait和notify必須放在synchronized中使用

    為什么wait和notify必須放在synchronized中使用

    這篇文章主要介紹了為什么wait和notify必須放在synchronized中使用,文章圍繞主題的相關(guān)問題展開詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考以參考一下
    2022-05-05

最新評(píng)論