【问题标题】:How do I set the font size of the text on a swing jButton to the maximum size who fits the jButton如何将swing jButton上的文本字体大小设置为适合jButton的最大大小
【发布时间】:2011-06-29 17:50:05
【问题描述】:

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

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

所以字体大小应该始终是适合按钮的最大字体大小。

【问题讨论】:

  • 当您让用户指定 JPanel 或其他容器的大小时,这似乎是基本问题。这就是布局的用途。如果它对于当前视图来说太大了,就把它扔到一个 JScrollPane 中。

标签: java swing font-size


【解决方案1】:

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

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

确保考虑到插图。

【讨论】:

    【解决方案2】:

    而不是弄乱不同的字体大小。我建议使用布局并防止按钮随着面板大小而增长。让面板中的其他组件占用额外的空间。

    【讨论】:

    • 我的应用程序是一个仅包含按钮的 4x4 GridBagLayout。它是一种用于触摸屏的数字键盘。因此,当面板尺寸较大时,应放大所有按钮,包括按钮上的文本。拥有它只是一件好事,但它非常好:-p
    • @stijn 在按钮开始看起来很糟糕之后扩大键盘周围的空间怎么样。
    • 我也可以限制最大尺寸,但这不是我真正想做的。
    猜你喜欢
    • 1970-01-01
    • 2014-11-14
    • 2013-08-14
    • 2012-11-23
    • 2014-01-30
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多