【问题标题】:JList Left Attached and FilledJList 左附加和填充
【发布时间】:2015-05-08 06:26:09
【问题描述】:
    setLayout(new BorderLayout());
    add(listScroller, BorderLayout.WEST);

当我这样做时,我的列表将被附加并填充所有列大小。但是当我添加更多东西时。

    setLayout(new GridBagLayout());
    GridBagConstraints gc = new GridBagConstraints();

    gc.gridx = 2;
    gc.gridy = 0;
    add(nameLabel, gc);

它变小了,当我调整大小时它变得不可见。我怎么能把列表放在左边,其他东西放在右边。

额外问题:如果列表中的元素很少,我的滚动条不会显示。不管发生什么我都想看看滚动条。

【问题讨论】:

    标签: java eclipse swing jlist


    【解决方案1】:

    首先,您可能希望使用单个布局管理器...

    setLayout(new GridBagLayout());
    GridBagConstraints gc = new GridBagConstraints();
    
    gc.gridx = 0;
    gc.gridy = 0;
    gc.weighty = 1;
    gc.fill = GridBagConstraints.BOTH;
    gc.gridheight = GridBagConstraints.REMAINDER;
    add(listScroller, gc);
    
    gc.gridx = 2;
    gc.gridy = 0;
    gc.weighty = 0;
    gc.fill = GridBagConstraints.NONE;
    gc.gridheight = 1;
    add(nameLabel, gc);
    

    或者

    setLayout(new BorderLayout());
    add(listScroller, BorderLayout.WEST);
    add(nameLabel);
    

    取决于你想要达到的目标

    详情请见Laying Out Components Within a Container

    额外问题:如果列表中的元素很少,我的滚动条不会显示。不管发生什么我都想看看滚动条。

    你会想看看JScrollPane#setVerticalScrollBarPolicyJScrollPane#setHorizontalScrollBarPolicy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多