Java 如何使按钮与文本大小完全相同?

Java 如何使按钮与文本大小完全相同?,java,swing,jbutton,Java,Swing,Jbutton,有没有可能让一个JButton精确地获取文本的大小?因为默认情况下,JButton将在其文本周围有少量填充(水平和垂直)。我想删除该填充。JButton默认有边框,您可以删除它: button.setBorder(null); 如果要保留边框,请减小边距(请参见)用清除按钮中的边距。 删除边框会产生删除边框的副作用。如果只想清除边距,请使用该方法将边距全部设置为零 button.setMargin(new Insets(0,0,0,0)); 谢谢,很抱歉问了这么简单的问题。谢谢,我发疯了,

有没有可能让一个
JButton
精确地获取文本的大小?因为默认情况下,
JButton
将在其文本周围有少量填充(水平和垂直)。我想删除该填充。

JButton
默认有边框,您可以删除它:

button.setBorder(null);


如果要保留边框,请减小边距(请参见)

用清除按钮中的边距。

删除边框会产生删除边框的副作用。如果只想清除边距,请使用该方法将边距全部设置为零

button.setMargin(new Insets(0,0,0,0));

谢谢,很抱歉问了这么简单的问题。谢谢,我发疯了,想找到那个该死的填充物的位置。-1这个答案去掉了边界。这不是OP要求的。请参阅另一个答案,以在不删除边框的情况下清除边距。有趣的是,设置
btn.setbOrderPaint(false)
不起同样的作用。你会想的。谢谢你,这个提示非常有用!在我的系统上,在使用这种方法之前,我测量了文本左右16个像素的水平填充,之后测量了15个像素。除了按钮之外,似乎还有其他东西在添加填充。也许是按钮为自己创建的标签?我认为解决方案取决于L&F和系统。我在macOS Big Sur上使用默认的L&F和JDK 11。