gpt4 book ai didi

java - 设置 JButton 的宽度以容纳一定数量的字符

转载 作者:行者123 更新时间:2023-11-30 08:27:22 24 4
gpt4 key购买 nike

我如何设置一个 JButton 使其足够宽以容纳 3 位数字,而不实际调用按钮上的 setText() 来输入这些数字?

换句话说,如何设置按钮的列数?对于 JTextField,与 textField.setColumns(3) 等效的调用是什么?

最佳答案

没有简单的方法来实现这一点,通常任何解决方案都会有点 hackkey 并违反一些通常推荐的孤子...

你可以...

创建第二个具有三个字符的临时按钮,并使用它的首选大小作为要显示的按钮的首选大小...

你可以...

从按钮获取字体规范,计算您通常会显示的文本的高度和宽度,添加插图和边距并将此值设置为按钮的首选大小...

FontMetrics fm = button.getFontMetrics(button.getFont());
int width = fm.stringWidth("MMM");
int height = fm.getHeight();
Insets insets = button.getInsets();
Insets margins = button.getMargin();
width += insets.left + insets.right + margins.left + margins.right;
height += insets.top + insets.bottom + margins.top + margins.bottom;
button.setPreferrdSize(new Dimension(width, height));

就我个人而言,如果我必须这样做,我会选择第一个选项 :P

关于java - 设置 JButton 的宽度以容纳一定数量的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20911867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com