无法在JPanel中调整List的大小

时间:2017-05-16 00:06:12

标签: java swing jpanel awt flowlayout

我想在FlowLayout中使用JPanel。 添加2个awt列表。 然后我将这个JPanel(名为DualListPanel)添加到JFrame。

public class DualListPanel extends JPanel{
    private List list1 = new List();
    private List list2 = new List();

    public DualListPanel(){
        list1.setSize(500, 100);//Not working
        list2.setSize(500, 100);//No tworking
        add(list1);
        add(list2);
    }
}

框架:

public class SecondFrame extends JFrame{
    private DualListPanel dualList = new DualListPanel();

    public SecondFrame(){
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
        add(dualList, BorderLayout.CENTER);
        setSize(600, 250);
    }

    public static void main(String[] args) {
        SecondFrame secondFrame = new SecondFrame();
    }
}

问题是我无法为列表设置大小? 使用awt列表,需要FlowLayout到JPanel。

谢谢

1 个答案:

答案 0 :(得分:1)

  

我想在FlowLayout中使用JPanel。添加一个2 awt列表

不要在Swing应用程序中使用AWT列表。

而是使用JList。阅读How to Use Lists上Swing教程中的部分,了解更多信息和工作示例。

列表的宽度将由添加到JList的最大项目的宽度决定。或者您可以使用setPrototypeCellValue(...)方法更改此项。

高度将由添加到列表中的项目数决定。或者您可以使用setVisibleRowCount()方法更改此项。

所以重点是不要试图控制尺寸。使用API​​的方法为JList提供提示,以确定其自身的大小。