Java 在调整JButton的大小时防止调整其大小';s容器

Java 在调整JButton的大小时防止调整其大小';s容器,java,swing,resize,jbutton,Java,Swing,Resize,Jbutton,我正在尝试将多行文本设置为JButton,我在谷歌上搜索了一下,发现我必须使用HTML,所以下面是我的代码: jButton1.setText("<html>Ajouter une commande<br>nexterne à partir d'une<br>commande interne</html>"); jButton1.setText(“外部命令下一个内部命令”); 此JButton包含在JToolBar中。当我运行程序时,JFram

我正在尝试将多行文本设置为
JButton
,我在谷歌上搜索了一下,发现我必须使用HTML,所以下面是我的代码:

jButton1.setText("<html>Ajouter une commande<br>nexterne à partir d'une<br>commande interne</html>");
jButton1.setText(“外部命令
下一个内部命令”);
JButton
包含在
JToolBar
中。当我运行程序时,
JFrame
也展开时,按钮展开;当我调整
JFrame
的大小时,按钮也会调整大小

以下是展开
JFrame
时的图像:

在这里,当我调整
JFrame
的大小时:


您可以注意到名为
Vérifier le stock
的按钮在调整
JFrame
的大小后不会改变其大小,这就是我希望我的按钮的作用方式。我还希望按钮能够精确地显示文本的大小。

JToolBar的默认布局是
BoxLayout
。作为另一种选择,考虑另一种依赖于组件的首选大小的布局,如<代码> FlowLayout < /代码>。有一个例子


附录:如果您想保留默认的
BoxLayout
,请遵循@camickr关于最小和最大大小的建议,如所示。

我不确定HTML在设置按钮的首选大小方面是如何工作的。但是,一旦确定了首选大小,则需要将按钮的最小和最大大小设置为首选大小。这将防止工具栏的布局管理器更改按钮的大小。有关@camickr建议的示例,请参阅。或者尝试使用。使用
GridBagLayout
可以限制
JComponent
对父容器大小调整的反应。下面是一个小问题,我刚刚按照@camickr的建议设置了按钮的最小和最大大小,效果很好:)如果这没有帮助,请编辑您的问题,包括一个显示您的方法的问题。您可以通过
URL
访问发布的图像,如图所示;使用
UIManager
图标,如图所示;或者使用如图所示的合成图像。我只是按照@camickr的建议设置了按钮的最小和最大大小,效果很好:)