调整大小后 JLabel 文本在 JPanel 中消失

发布于 2024-12-26 13:41:36 字数 271 浏览 2 评论 0原文

我有两个渲染器。其中一个扩展了 JTextArea,另一个继承了 JPanel。我使用 GridBagLayout 将它们添加到另一个 JPanel 中。

当调整 JTextArea 大小时,我至少可以看到一些文本。对于 JPanel,我有两个标签,如果 JPanel 太小,它们就会完全消失。

有没有办法让 JLabel 调整大小而不是根本消失?


感谢您的回答!

使用 JPanel 的 BoxLayout 并指定最小、首选和最大尺寸解决了我的问题。

I have two renderers. One of them extends JTextArea and another inherits JPanel. I add them to another JPanel with GridBagLayout.

When a resize JTextArea I can see at least some text. In case of JPanel I have two labels and if JPanel is to small they disappear entirely.

Is there any way to make JLabel being resized instead of disappearing at all?


Thanks for your answers!

Using BoxLayout for JPanel and specifying minimum, preferred and maximum sizes solved my problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盗琴音 2025-01-02 13:41:36

您是否尝试过使用框架的 setMinimumSize(Dimension) 方法?

frame.setMinimumSize(new Dimension(100, 100));

查看 文档告诉我,您所看到的行为取决于平台,因此如果您有多个平台,那么测试每个平台上的代码可能是个好主意;看看哪些有效,哪些无效。

以下示例代码在 Windows Vista 上适用于我的需要:

import javax.swing.JFrame;
import java.awt.Dimension;

public class Ex extends JFrame {
    public static void main(String[] args) {
        JFrame frame = new JFrame("YOU CAN'T SHRINK ME COMPLETELY!");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);
        frame.setMinimumSize(new Dimension(100, 100));
        frame.setVisible(true);
    }
}

Have you tried using your frame's setMinimumSize(Dimension) method?

frame.setMinimumSize(new Dimension(100, 100));

A look at the documentation tells me that the behavior you're seeing is platform dependent, so if you have mutiple platforms, it may be a good idea to test out the code you have on each ones; see which ones work and which ones don't.

The following example code works for me as desired on Windows Vista:

import javax.swing.JFrame;
import java.awt.Dimension;

public class Ex extends JFrame {
    public static void main(String[] args) {
        JFrame frame = new JFrame("YOU CAN'T SHRINK ME COMPLETELY!");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);
        frame.setMinimumSize(new Dimension(100, 100));
        frame.setVisible(true);
    }
}
我恋#小黄人 2025-01-02 13:41:36

检查面板的布局管理器。

check the layout manager of the panel.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文