通过使用

FontMetrics和

TextLayout,您可以获得此输出(请阅读代码中的注释)

我建议在两个方向上添加几个像素

将ComponentListener添加到容器,并在componentResized事件上重新计算FontMetrics

import java.awt.*;

import java.awt.font.TextLayout;

import java.awt.geom.Rectangle2D;

import javax.swing.*;

public class ShowFontMetrics extends JFrame {

private static final long serialVersionUID = 1L;

private JLabel lTime;

public ShowFontMetrics() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel pane = new JPanel();

pane.setLayout(new FlowLayout());

lTime = new JLabel("88:88");

lTime.setFont(new Font("Helvetica", Font.PLAIN, 88));

FontMetrics fm = lTime.getFontMetrics(lTime.getFont());

TextLayout layout = new TextLayout(lTime.getText(), lTime.getFont(), fm.getFontRenderContext());

Rectangle2D bounds = layout.getBounds();

Dimension d = lTime.getPreferredSize();

d.height = (int) (bounds.getHeight() + 100);// add huge amount of pixels just for for fun

d.width = (int) (bounds.getWidth() + 150);// add huge amount of pixels just for for fun

lTime.setPreferredSize(d);

lTime.setVerticalAlignment(SwingConstants.CENTER);

lTime.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

pane.add(lTime);

setContentPane(pane);

}

public static void main(String[] arguments) {

ShowFontMetrics frame = new ShowFontMetrics();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.pack();

frame.setVisible(true);

}

}

java jlabel 字体大小_java – 如何在调整大小时更改JLabel字体大小以填充JPanel可用空间?...相关推荐

  1. java 按钮设置图片_Java中如何设置带图片按钮的大小

    在java部分需要用到图形界面编程的项目中,经常会使用图片设置对按钮进行美化,但是使用时会出现一个很麻烦的问题, 按照方法:JButton jb1 = new JButton(); jb1.setBo ...

  2. java word 纸张大小_Java 设置Word页边距、页面大小、页面方向、页面边框

    本文将通过java示例介绍如何设置word页边距(包括上.下.左.右).页面大小(可设置letter/a3/a4/a5/a6/b4/b5/b6/envelop dl/half letter/lette ...

  3. java string字节大小_Java中char[] 和 String 类型占用字节大小问题

    作者:威威喵 原文链接:https://blog.csdn.net/smile_Running/article/details/87211916 在 C 语言中 1.char a[10] = {&qu ...

  4. java gridlayout 设置列宽_java 利用GridBagLayout布局时,如何设置单列列宽?

    展开全部 package JavaGUI; import java.awt.EventQueue; import java.awt.GridBagConstraints; import java.aw ...

  5. python plot label改字体_python – 如何在matplotlib图中更改xticks字体大小

    参见英文答案 > Matplotlib make tick labels font size smaller                                    10个 我有以 ...

  6. java虚拟机栈帧_Java虚拟机,运行时栈帧结构

    业余生活要有意义,不要越轨.--华盛顿 引导语 "虚拟机"是一个相对于"物理机"的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器. ...

  7. java properties 路径问题_Java 读取Properties文件时应注意的路径问题

    Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...

  8. java service层 事务_Java高并发秒时啊API之Service层1

    ---2-1 使用Spring托管Service依赖理论---------------------------- spring ioc优势(工厂模式): 1.对象创建统一托管 2.规范的生命周期管理 ...

  9. Java反射运行时_java反射获得运行时属性的值

    运行时动态获得属性的值(通过方法获得): Method[] methods = cls.getDeclaredMethods(); for (Method method : methods) { if ...

最新文章

  1. python相关性分析的散点图怎么做_Python:matplotlib 和 Seaborn 之散点图和相关性 (三十二)...
  2. 【Network】高性能 UDP 服务应该怎么搞?
  3. Object_id用法
  4. 西电计算机应用基础 一,15秋西电《计算机应用基础(一)》在线作业答案解析.doc...
  5. 编程语言对比 面向对象
  6. java两人猜数字游戏,三人背后猜数字游戏
  7. js当中null和{}区别
  8. 使用extundelete恢复测试liunx的删除文件
  9. github emoji 表情列表 1
  10. 小学计算机教师集体备课计实,教师集体备课活动记录表.doc
  11. java实现功能6_Java 6
  12. swift 笔记 (十三) —— 继承
  13. 发现gmail有邀请权了。有谁需要,先送5个。
  14. 平均值、方差、标准差
  15. 密度测量:1.密度测量的基础知识
  16. python-模块使用方法
  17. 把json数据导入linux,使用json文件给es中导入数据
  18. 【线性代数】深入理解矩阵乘法、对称矩阵、正定矩阵
  19. htmlunit教程
  20. 怎么关闭vivo系统自检_科技资讯:vivo手机中软件的自启动功能怎么关闭

热门文章

  1. (六)Oracle学习笔记—— 约束
  2. centos7 服务器安装nginx,mysql,php
  3. 事务,动态代理,连接池
  4. “打工皇帝”唐骏借收购重返IT
  5. 20muduo_base库源码分析(十一)
  6. 中专计算机总结论文,中专计算机毕业论文...doc
  7. java lock可重入_一文彻底理解ReentrantLock可重入锁的使用
  8. mysql s.`name`_MySQL的基础操作命令
  9. HALCON 20.11:深度学习笔记(5)---设置超参数
  10. 梭织布印染后整理瑕疵最全解读