java jlabel 字体大小_java – 如何在调整大小时更改JLabel字体大小以填充JPanel可用空间?...
通过使用
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可用空间?...相关推荐
- java 按钮设置图片_Java中如何设置带图片按钮的大小
在java部分需要用到图形界面编程的项目中,经常会使用图片设置对按钮进行美化,但是使用时会出现一个很麻烦的问题, 按照方法:JButton jb1 = new JButton(); jb1.setBo ...
- java word 纸张大小_Java 设置Word页边距、页面大小、页面方向、页面边框
本文将通过java示例介绍如何设置word页边距(包括上.下.左.右).页面大小(可设置letter/a3/a4/a5/a6/b4/b5/b6/envelop dl/half letter/lette ...
- java string字节大小_Java中char[] 和 String 类型占用字节大小问题
作者:威威喵 原文链接:https://blog.csdn.net/smile_Running/article/details/87211916 在 C 语言中 1.char a[10] = {&qu ...
- java gridlayout 设置列宽_java 利用GridBagLayout布局时,如何设置单列列宽?
展开全部 package JavaGUI; import java.awt.EventQueue; import java.awt.GridBagConstraints; import java.aw ...
- python plot label改字体_python – 如何在matplotlib图中更改xticks字体大小
参见英文答案 > Matplotlib make tick labels font size smaller 10个 我有以 ...
- java虚拟机栈帧_Java虚拟机,运行时栈帧结构
业余生活要有意义,不要越轨.--华盛顿 引导语 "虚拟机"是一个相对于"物理机"的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器. ...
- java properties 路径问题_Java 读取Properties文件时应注意的路径问题
Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...
- java service层 事务_Java高并发秒时啊API之Service层1
---2-1 使用Spring托管Service依赖理论---------------------------- spring ioc优势(工厂模式): 1.对象创建统一托管 2.规范的生命周期管理 ...
- Java反射运行时_java反射获得运行时属性的值
运行时动态获得属性的值(通过方法获得): Method[] methods = cls.getDeclaredMethods(); for (Method method : methods) { if ...
最新文章
- python相关性分析的散点图怎么做_Python:matplotlib 和 Seaborn 之散点图和相关性 (三十二)...
- 【Network】高性能 UDP 服务应该怎么搞?
- Object_id用法
- 西电计算机应用基础 一,15秋西电《计算机应用基础(一)》在线作业答案解析.doc...
- 编程语言对比 面向对象
- java两人猜数字游戏,三人背后猜数字游戏
- js当中null和{}区别
- 使用extundelete恢复测试liunx的删除文件
- github emoji 表情列表 1
- 小学计算机教师集体备课计实,教师集体备课活动记录表.doc
- java实现功能6_Java 6
- swift 笔记 (十三) —— 继承
- 发现gmail有邀请权了。有谁需要,先送5个。
- 平均值、方差、标准差
- 密度测量:1.密度测量的基础知识
- python-模块使用方法
- 把json数据导入linux,使用json文件给es中导入数据
- 【线性代数】深入理解矩阵乘法、对称矩阵、正定矩阵
- htmlunit教程
- 怎么关闭vivo系统自检_科技资讯:vivo手机中软件的自启动功能怎么关闭
热门文章
- (六)Oracle学习笔记—— 约束
- centos7 服务器安装nginx,mysql,php
- 事务,动态代理,连接池
- “打工皇帝”唐骏借收购重返IT
- 20muduo_base库源码分析(十一)
- 中专计算机总结论文,中专计算机毕业论文...doc
- java lock可重入_一文彻底理解ReentrantLock可重入锁的使用
- mysql s.`name`_MySQL的基础操作命令
- HALCON 20.11:深度学习笔记(5)---设置超参数
- 梭织布印染后整理瑕疵最全解读