java修改JFrame默认字体方式

目录
  • java修改JFrame默认字体
  • JFrame基本参数设置

java修改JFrame默认字体

修改默认字体的方法很简单。首先我们随便写一个按钮出来:

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;

这样就可以改字体了。

字体类型和大小可以随便改,只要电脑里有安装就行了。“0”位置代表的是字体风格,一般不做修改。(如斜体、加粗等,要修改的话请自行查阅API……我也不太记得了。。)

不建议使用网上的个性字体,因为这样做出来的软件程序到别的电脑上用会产生字体方面的问题。而且尽量少用生僻字,以免某些字体库里没有收录对应的字形。

自定义的字体可以进行一下封装:(下面的部分摘自网络)

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));
 }

然后我们只需要在我们想要使用的时候,加上一句:

FontClass.loadIndyFont();

就行了~

JFrame基本参数设置

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();
        // 设置窗体自动调节大小
        frame.pack();
        // 设置窗体位置、大小
        frame.setBounds(100, 100, 100, 100);
        // 设置窗体是否可调节大小
        frame.setResizable(false);
        // 设置窗体布局
        frame.getContentPane().setLayout(null);
        // 设置窗体标题
        frame.setTitle("Frame");
        // 设置窗体字体
        frame.setFont(new Font("黑体", Font.PLAIN, 17));
        // 设置窗体在屏幕中央打开
        frame.setLocationRelativeTo(null);
        // 设置窗体默认关闭方式为退出程序
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗体图标
frame.setIconImage(ImageIO.read(this.getClass().getResource("/priv/image/image.png")));
        // 设置窗体观感(皮肤/主题)
    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        // 设置窗体是否可见
        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();
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例

    一:JTextField的(文本框)使用: JTextField 是一个轻量级组件,它允许编辑单行文本. 1.JTextField的常用构造方法: JTextField() 构造一个新的 TextField. JTextField(int columns) 构造一个具有指定列数的新的空 TextField. JTextField(String text) 构造一个用指定文本初始化的新TextField. JTextField(String text, int columns) 构造一个用指定文本

  • java实现仿windows 字体设置选项卡实例

    想用java做一个像windows里一样的txt编辑软件,涉及到字体设置选项卡,在网上找了很久都没找到,就生气啦自己写一个,现在贴这里分享一下,下次再遇到这样的问题就不用自己亲自打代码啦! package 实验; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt

  • java swing 实现加载自定义的字体

    目录 java swing 加载自定义的字体 Java swing更改全局字体 java swing 加载自定义的字体 在实际开发中, 我们需要把字体的名字和字体做一一对应的映射关系, 然后需要通过可配置的方式加载自定义的字体. 所以就有了这个需求, 我们来实现. 首先我们定义一个自定义加载子类的工具类 import java.awt.Font; import java.io.File; import java.io.FileInputStream; import java.io.IOExcep

  • Java Swing JFrame窗口的实现

    1. 概述 官方JavaDocsApi: javax.swing.JFrame JFrame,窗口.JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题.图标.操作按钮(关闭.最小化.最大化),还可以为窗口添加菜单栏.工具栏等.一个进程中可以创建多个窗口,并可在适当时候进行显示.隐藏 或 销毁. JFrame 常用构造方法: /** * 参数说明: * title: 窗口标题 */ JFrame() JFrame(String title) JFrame 常用方法: // 设置窗口的

  • java修改JFrame默认字体方式

    目录 java修改JFrame默认字体 JFrame基本参数设置 java修改JFrame默认字体 修改默认字体的方法很简单.首先我们随便写一个按钮出来: 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.s

  • 在Pycharm中修改文件默认打开方式的方法

    新下载了一个Pycharm,建了个小demo,期间产生了一个sqlite3文件,由于是第一次打开,就弹出选择打开方式的对话框,手一块直接点了个Text,然后就乱码了: 那我们不小心操作后,怎么重新修改文件的默认打开方式呢? 1.File -> Settings -> Editor -> File Types 找到Text下的"*.sqlite3",把它删掉就ok啦~ 以上这篇在Pycharm中修改文件默认打开方式的方法就是小编分享给大家的全部内容了,希望能给大家一个参

  • iOS App开发中修改UILabel默认字体的方法

    在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的label又不需要更换.乍看起来,这个问题确实十分棘手,首先项目比较大,一个一个设置所有使用到的label的font工作量是巨大的,并且在许多动态展示的界面中,可能会漏掉一些label,产生bug.其次,项目中的label来源并不唯一,有用代码创建的,有xib和storyBoard中的,这也将浪费很大的精力.这种情况下,我们可能会有下面两种处理方式. 一.普通方

  • php修改NetBeans默认字体的大小

    在Netbeans中由于使用了Swing进行开发,所以其中界面的字体也是由Java虚拟机进行配置而不是随操作系统的.在安装完Netbeans后默认的字体大小是11px.而在Windows下的宋体最小支持12px.所以字体为11px就已经无法完整显示了. 简单的解决办法就是将字体改大一点.详细的方法是打开Netbeans安装目录下的etc\netbeans.conf文件.在: netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:

  • pycharm修改文件的默认打开方式的步骤

    有时我们用pycharm打开某个文件的时候,默认的打开方式是不正确的,那么如何设置呢?下面小编给大家分享一下. 首先我们点击File菜单,然后选择Setting,如下图所示 接着找到Editor下面的File Types,如下图所示 然后选择一个文件类型,就可以看到它下面关联的文件后缀了,如下图所示 接着我们只需要把要改的文件后缀选择移除掉 然后在选择一个新的文件类型,将后缀添加进去 最后直接输入后缀名就可以了,如下图所示 综上所述,pycharm修改文件的默认打开方式就在settings下面的

  • Python matplotlib修改默认字体的操作

    matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~ 闲言少叙,开始正文 方法1:在plot中指定prop参数 使用matplotlib.font_manager下的FontProperties加载中文字体 调用函数时通过prop属性指定中文字体 import matplotlib.pyplot as plt import matplotlib.font_manager as fm x_data = ['2011', '2012', '2013'

  • UEditor 默认字体和字号的修改方法

    直接打开 UEditor 根目录下的 ueditor.all.js 文件,查找"设置默认字体和字号",修改默认字体和字号: ..... //设置默认字体和字号 //font-family不能呢随便改,在safari下fillchar会有解析问题 //注释掉原来的默认字体和字号 //'body{margin:8px;font-family:sans-serif;font-size:16px;}' + //修改为自己需要的默认字体和字号 'body{margin:8px;font-fami

  • Java修改maven的默认jdk版本为1.7的方法

    问题: 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2.每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本或者其他版本 解决办法: 解决办法一:在项目中的pom.xml指定jdk版本,如下: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <ar

  • vue中element-ui组件默认css样式修改的四种方式

    目录 前言 1.使用全局统一覆盖 2.在.vue文件中修改 3.修改组件的style样式 4. 参考element-ui官方文档的api 疑问 总结 前言 修改element-ui组件的默认样式一直是一个老生长谈的话题,在做完公司的一整个项目后,我总结了以下4种修改element-ui默认样式的方法. 1.使用全局统一覆盖 针对一些通用的.样式固定的组件,可以全局处理,其方法是新建一个css或者scss文件,覆盖element原有的class 你可以在src/styles目录下新建一个eleme

  • Android使用selector修改TextView中字体颜色和背景色的方法

    本文实例讲述了Android使用selector修改TextView中字体颜色和背景色的方法.分享给大家供大家参考,具体如下: android中的selector大家都很熟悉了,用它可以很方便的实现,控件在不同的动作中,颜色等值的变化.这里我说一下TextView中的一些应用. 我想大家都知道,Button按钮在源码上看是一种特殊的TextView,所以我们很多时候,按钮全是使用的TextView来完成,只要加一个android:clickable="true"就可以了. TextVi

随机推荐