gpt4 book ai didi

java - JLabel 强制文本适合 JLabel 边界(空布局)

转载 作者:行者123 更新时间:2023-12-02 05:53:30 28 4
gpt4 key购买 nike

我正在将布局设置为 null,我有一个具有宽高比的 JFrame,并且在调整大小期间,该框架保持相同的宽高比。

每次我调整框架大小时,我都会调整所有组件的大小,没有任何问题,只是使用 JLabel 调整了一个组件的大小。

当我调整 JLabel 的边界大小时,文本不会增加以适应新的边界,文本保持相同的大小。

我试图通过每次设置字体大小来解决这个问题,但这似乎很困难。

有办法实现吗?

最佳答案

您是否尝试过使用可以保持宽高比的特定布局?比如GridbagLayout?使用适当的布局,例如 GridBagLayout 或 SpringLayout

示例:容器 contentPane = jframe.getContentPane();contentPane.setLayout ( new GridBagLayout() );

//x y w h wtx wty anchor 填充 T L B R padx padycontentPane.add( myPanel, new GridBagConstraints( 0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets( 10, 10, 10, 5 ), 0, 0 ) );contentPane.add( myPanel2, new GridBagConstraints( 1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets( 10, 5, 10, 10 ), 0, 0 ) );

您还希望扩展标签等。嗯,我不知道有什么可以自动为您执行此操作。您可以扩展某些组件以从布局中获取提示并适本地调整大小。例如,当您确定由于窗口大小调整而有更多空白可用时,您可以选择放大字体。我不知道现有的组件可以为标签执行此操作。比例字体要做到这一点有点棘手。事实上,如果我没记错的话,我曾经做过类似的事情。从语法上来说,这就像“试错”。在屏幕外,我将以估计的字体大小绘制字符串,然后重新绘制,直到它适合具有所需边距的分配空间。当然,要让这些动态标签看起来不错似乎很麻烦!

关于java - JLabel 强制文本适合 JLabel 边界(空布局),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326539/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com