Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将swing jButton上文本的字体大小设置为适合jButton的最大大小_Java_Swing_Font Size - Fatal编程技术网

Java 如何将swing jButton上文本的字体大小设置为适合jButton的最大大小

Java 如何将swing jButton上文本的字体大小设置为适合jButton的最大大小,java,swing,font-size,Java,Swing,Font Size,我有一个带有jButton的jPanel,用户可以在启动应用程序时使用参数定义jPanel的大小,jButton的大小根据jPanel而定 问题是当我使用固定字体,面板很大时,字体看起来很小,反之亦然 因此,字体大小应始终是适合按钮的最大字体大小。不确定,但您可能会在paintComponent方法中使用Graphics.getFontMetrics方法找到大小?也许您可以使用FontMetrics.getStringBounds方法并测试按钮是否包含矩形RectangleShape.conta

我有一个带有jButton的jPanel,用户可以在启动应用程序时使用参数定义jPanel的大小,jButton的大小根据jPanel而定

问题是当我使用固定字体,面板很大时,字体看起来很小,反之亦然


因此,字体大小应始终是适合按钮的最大字体大小。

不确定,但您可能会在paintComponent方法中使用Graphics.getFontMetrics方法找到大小?也许您可以使用FontMetrics.getStringBounds方法并测试按钮是否包含矩形RectangleShape.contains

您可以使用二进制搜索算法来查找最大字体


请确保将插图考虑在内。

不确定,但您可能会在paintComponent方法中使用Graphics.getFontMetrics方法找到尺寸?也许您可以使用FontMetrics.getStringBounds方法并测试按钮是否包含矩形RectangleShape.contains

您可以使用二进制搜索算法来查找最大字体


确保你考虑了插图。

而不是混淆不同的字体大小。我建议玩一下布局,不要让按钮随着面板的大小而变大。允许面板中的其他组件占用额外空间

而不是混淆不同的字体大小。我建议玩一下布局,不要让按钮随着面板的大小而变大。允许面板中的其他组件占用额外空间

当您让用户指定JPanel或其他容器的大小时,这似乎是一个基本问题。这就是布局的用途。如果它对于当前视图来说太大,则将其放入JScrollPane中。这似乎是让用户指定JPanel或其他容器大小时的基本问题。这就是布局的用途。如果它对于当前视图来说太大,请将其放入JScrollPane。我的应用程序是一个4x4 GridBagLayout,只包含按钮。这是一种用于触摸屏的数字键盘。因此,当面板尺寸较大时,应放大所有按钮,包括按钮上的文本。这只是一个很好的选择,但这是一个非常好的选择:-p@stijn在按钮开始看起来不好的任何一点之后,如何扩大键盘周围的空间。我也可以限制最大大小,但这不是我真正想要做的。我的应用程序是一个4x4 GridBagLayout,只包含按钮。这是一种用于触摸屏的数字键盘。因此,当面板尺寸较大时,应放大所有按钮,包括按钮上的文本。这只是一个很好的选择,但这是一个非常好的选择:-p@stijn在按键看起来不好的时候,扩大键盘周围的空间怎么样?我也可以限制最大尺寸,但这不是我真正想要做的。