java修改JFrame默认字体方式
作者:sinolzeng 发布时间:2022-11-16 14:02:50
标签:java,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();
}
}
来源:https://blog.csdn.net/sinolzeng/article/details/41282725


猜你喜欢
- SpringBoot 整合 Redis 数据库实现数据缓存的本质是整合 Redis 数据库,通过对需要“缓存&r
- 概况Java的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法
- Activity是最基本的模块,一般称之为"活动",在应用程序中,一个Activity通常就是一个单独的屏幕。简单理解,
- 近期开发收音机有个需求,将频率值以图片的形式显示出来(如结尾效果图所示)。然而,一开始用TextView写出来的效果太丑了,提交上去肯定不合
- 如果您通过以下的代码来获取定义的颜色值context.getResources().getColor(R.color.some_color_
- 本文实例为大家分享了java实现购物车功能的具体代码,供大家参考,具体内容如下1 需要实现1、实现淘淘商城的购物车功能2 购物车功能2.1
- 直接贴代码: public class OSInfoMation { public static string OSBit() { try
- 这篇文章主要介绍了Java JVM程序指令码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- Task执行任务,等待任务完成代码://任务Func<int> Funcs = () =>{? ? Console.Wri
- 该方法针对idea版本(2020.2.x)C:\Users\yanghao\AppData\Roaming\JetBrains\Intell
- 本文介绍的是关于Mybatis中用OGNL表达式处理动态sql的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:常用的Mybat
- 状态机机制状态机机制是一种常用的解决状态扭转问题的方法,通过定义状态以及状态之间的转移规则来控制状态的流转。对于订单系统,我们可以使用状态机
- Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红、绿、蓝),最后一个值是A,也就是Alpha。这4个
- 一、序言(一)背景内容软件应用技术架构中DAO层最常见的选型组件为MyBatis,熟悉MyBatis的朋友都清楚,曾几何时MyBatis是多
- ODT文档格式一种开放文档格式(OpenDocument Text)。通常,ODT格式的文件可以使用LibreOffice Writer、M
- 一、项目要求实现一个通讯录通讯录可以用来存储100个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:添加联系人信息删除指定
- 问题介绍测试服务器突然无法连接,ssh登录不上。只有重启才能解决。重启一天后,又连接不上了。于是有了下面的排查过程,最终发现是有个java程
- 一、概要1.Java虚拟机(Jvm)是什么?2.Java虚拟机是用来干什么的?3.Java虚拟机它的体系结构是什么样子的?4.Java虚拟机
- protected bool IsChineseLetter(string input,int index){int code = 0;in
- 自己闲下来时间写的一个课表控件,使用的自定义LinearLayout,里面View都是用代码实现的,最终效果如下图,写的可能有问题希望多多指