gpt4 book ai didi

java - Swing MigLayout - 空间不足时缩小标签

转载 作者:行者123 更新时间:2023-11-30 10:23:10 24 4
gpt4 key购买 nike

我试过让标签自动收缩,例如:

This is text 变为 This i...

但是,我无法做到这一点。

我的布局如下所示:

JPanel container = new JPanel(new MigLayout(new LC().fillX().gridGapX("2")));
container.add(new JXTitledSeparator("Text"), new CC().growX().spanX().wrap());

JLabel shrinkMeIfYouNeedTo = new JLabel("Shrink Shrink");
container.add( shrinkMeIfYouNeedTo, new CC());
container.add( infoText, new JLabel("Great, long, beautiful info text that shall never shrink"), new CC().growX().spanX().wrap());

JScrollPane scrollPane = new JScrollPane(container);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

我已经尝试使用 shr​​inkXshr​​inkPrioX,但它们都没有效果,minWidth("1") 也没有效果。

最佳答案

我无法包含所有内容,因为我没有 SwingX,而且我不知道 infoText 是什么。但我的印象是你在追求这种行为:

Full Size

Starting To Shrink

Minimum Size

如果是,可以通过将最小宽度和首选宽度设置为 0 并将最大值设置为您喜欢的任何值来实现。使用 String 组件约束,您可以像 width 0:0:100 那样做。


可运行示例

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;

import net.miginfocom.swing.MigLayout;

public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel container = new JPanel(new MigLayout("fill, gapx 2", "grow"));
container.add(new JLabel("Header", SwingConstants.CENTER), "split, span, growx, wrap");

JLabel shrinkMeIfYouNeedTo = new JLabel("Shrink Shrink");
container.add( shrinkMeIfYouNeedTo, "growx, width 0:0:100");
container.add( new JLabel("Great, long, beautiful info text that shall never shrink"), "growx");

JScrollPane scrollPane = new JScrollPane(container);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
frame.add(scrollPane);
frame.setPreferredSize(new Dimension(800, 100));
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

关于java - Swing MigLayout - 空间不足时缩小标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47201736/

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