【发布时间】:2017-10-14 21:23:12
【问题描述】:
我想使用带有 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 list,需要FlowLayout转JPanel。
谢谢
【问题讨论】:
-
您是否尝试过使用 setPreferredSize? Java 中的默认布局管理器使用 setPreferredSize,而不是 setSize
-
首先不要使用
java.awt.List,而是使用javax.swing.JList。完成后,您可以使用GridLayout使列表占用更多空间,并使用JScrollPane允许溢出 -
我投票决定将此问题作为题外话结束,因为Laying out components in a container、How to use various layout managers 和 A visual guide to layout managers 会更好
标签: java swing jpanel awt flowlayout