gpt4 book ai didi

java - GridLayout 不调整大小以适应组件

转载 作者:行者123 更新时间:2023-11-29 03:47:42 26 4
gpt4 key购买 nike

网格布局有两列,每边各留出 50% 的空间,无论组件实际大小如何。 SetPrefferedSize 似乎也不起作用 - 但我不需要它,这个应该自动完成,对吧?

enter image description here

我可以调整第一行的宽度以适应“SomeOtherLongText3:”吗?

中南合作:

package test;

import java.awt.*;
import javax.swing.*;

public class test {

public static void main(String[] args) {
JFrame frame = new JFrame();

JPanel detailsPanel = new JPanel();
detailsPanel.setLayout(new GridLayout(0, 2, 15, 0));

// Add to left side (WEST)
frame.add(detailsPanel, BorderLayout.WEST);

// Add some labels:
detailsPanel.add(getLabel("Some text:"));
detailsPanel.add(new JLabel("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc id mauris "));


detailsPanel.add(getLabel("Some text 2:"));
detailsPanel.add(new JLabel("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc id mauris "));

detailsPanel.add(getLabel("Some other text 3:"));
detailsPanel.add(new JLabel("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc id mauris "));

frame.setSize(new Dimension(900, 100));
frame.setVisible(true);
frame.pack();
}

public static JLabel getLabel(String text)
{
JLabel lbl = new JLabel(text);
lbl.setHorizontalAlignment(SwingConstants.TRAILING);
return lbl;
}

}

此外,另一个问题是您可以调整窗口大小来剪切文本: enter image description here

最佳答案

布局策略

  1. BorderLayoutWEST(标签)和 CENTER(值)中放置 2 个单列 GridLayout 实例>。将外部面板添加到 WEST 或父级..
  2. 使用GroupLayout。这可能会更好,因为您可以使用 HTML/CSS 来限制值的宽度并将它们强制为多行。

关于java - GridLayout 不调整大小以适应组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10120667/

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