Java 如何在Swing JButton中获取文本内容像素
作为标题,我想通过按钮上的文本内容动态调整JButton的大小,以确保文本在多语言下完整显示。但我不知道如何获得JButton上文本的宽度Java 如何在Swing JButton中获取文本内容像素,java,swing,Java,Swing,作为标题,我想通过按钮上的文本内容动态调整JButton的大小,以确保文本在多语言下完整显示。但我不知道如何获得JButton上文本的宽度 JButton btn = new JButton("Sure"); 提前感谢你的帮助 我想通过按钮上的文本内容动态调整JButton的大小,以确保文本在多语言下完整显示。但我不知道如何获得JButton上文本的宽度 JButton btn = new JButton("Sure");
JButton btn = new JButton("Sure");
提前感谢你的帮助
我想通过按钮上的文本内容动态调整JButton的大小,以确保文本在多语言下完整显示。但我不知道如何获得JButton上文本的宽度
JButton btn = new JButton("Sure");
您不需要显式地执行此操作,因为如果您正确使用布局管理器,它们将为您处理此问题。如果在GUI呈现后向GUI添加JButtons,只需重新验证并重新绘制获取按钮的容器,布局管理器就可以完成其余工作
请注意,如果这个建议对您没有帮助,那么您可能需要告诉我们有关您的计划和问题的更多信息
我想通过按钮上的文本内容动态调整JButton的大小,以确保文本在多语言下完整显示。但我不知道如何获得JButton上文本的宽度
JButton btn = new JButton("Sure");
您不需要显式地执行此操作,因为如果您正确使用布局管理器,它们将为您处理此问题。如果在GUI呈现后向GUI添加JButtons,只需重新验证并重新绘制获取按钮的容器,布局管理器就可以完成其余工作
请注意,如果此建议对您没有帮助,那么您可能需要告诉我们有关您的程序和问题的更多信息。如果您确实需要文本的宽度,您可以通过以下方式获得:
int width = btn.getFontMetrics(btn.getFont()).stringWidth( "I want the width of this String" );
但除非你像其他海报所指出的那样做一些深奥的事情,否则你可能实际上并不需要它。还要注意(文本的宽度)!=(按钮的宽度),进一步使得这个答案毫无用处 如果您真的需要文本的宽度,您可以通过以下方法获得:
int width = btn.getFontMetrics(btn.getFont()).stringWidth( "I want the width of this String" );
但除非你像其他海报所指出的那样做一些深奥的事情,否则你可能实际上并不需要它。还要注意(文本的宽度)!=(按钮的宽度),进一步使得这个答案毫无用处 +1使用Swing的方式,让布局管理器完成它的工作。我测试这个,你是对的。这是因为在控件工厂中,为控件设置了PreferedSize,我应该将其删除。Thx为您提供帮助。+1使用Swing的方式,让布局管理器完成其工作。我测试了这一点,您是对的。这是因为在控件工厂中,为控件设置了PreferedSize,我应该将其删除。Thx为您提供帮助。