如何在MigLayout中显示JLabel省略号?

Pig*_*lvy 5 java layout swing miglayout

使用默认布局管理器,JLabel在调整框架大小时显示其省略号.

如图所示:

public static void main(String[] args) {
    final JFrame jFrame = new JFrame("JLabel, show me your ellipsis!");

    jFrame.getContentPane().add(new JLabel("Sure darling! Shrink me and I'll show you"));

    jFrame.pack();
    jFrame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)

但是,MigLayout不会显示此类行为!

public static void main(String[] args) {
    final JFrame jFrame = new JFrame("JLabel, show me your ellipsis!");

    jFrame.getContentPane().setLayout(new MigLayout());
    jFrame.getContentPane().add(new JLabel("Nope! I just do not know you well enough!"));

    jFrame.pack();
    jFrame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)

我尝试了所有可以想到的布局/组件约束.有没有人知道Mig中是否还有这样的东西?

kle*_*tra 6

JLabel的最小尺寸大致(或完全不记得)与其首选尺寸相同.MigLayout仅将组件缩小到最小值.因此,您必须添加一个允许大小小于其minSize的组件约束:

content.add(label, "wmin 10lp");
Run Code Online (Sandbox Code Playgroud)