如何将swing jButton上的文本字体大小设置为适合jButton的最大尺寸
我有一个带有jButton的jPanel,用户可以在使用参数启动应用程序时定义jPanel的大小,jButton的大小根据jPanel而定。
问题是当我使用固定字体并且面板很大时,字体看起来很小,反之亦然。
因此,字体大小应始终是适合按钮的最大字体大小。
I've got a jPanel with a jButton, and the user can define the size of the jPanel when launching the application using parameters, the jButton sizes according to the jPanel.
The problem is when I use a fixed font and the Panel is large, then the font looks very small, and vica versa.
So the font size should always be the maximum font size who fits in the button.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不确定,但您可能会使用 PaintComponent 方法中的 Graphics.getFontMetrics() 方法找到尺寸?也许您可以使用 FontMetrics.getStringBounds() 方法并测试按钮是否包含该矩形 (RectangleShape.contains())。
您可以使用二分搜索算法来查找最大字体。
确保考虑到插图。
Not sure, but you might find the size using the Graphics.getFontMetrics() method inside the paintComponent-method? Maybe you can use the FontMetrics.getStringBounds() methods and test if the button contains that rectangle (RectangularShape.contains()).
You could use a binary search algorithm to find the max font.
Make sure you take the insets into account.
而不是搞乱不同的字体大小。我建议调整布局并防止按钮随着面板大小而增长。允许面板中的其他组件占用额外的空间。
Rather than messing with different font sizes. I would suggest playing with the layout and keep the button from growing with the Panel size. Allow the extra space to be taken up by other components in your panel.