java,JList位置
我被卡在这里了,但我不能把布局中的列表移到左上角。我正试图用list.setLocation();
将列表移到左上角,但这似乎不管用。谢谢大家!
public class JList_ extends JFrame {
private JList list;
private static String[] colorname = {"black", "blue", "red", "white"};
private static Color[] colors = {Color.BLACK, Color.BLUE, Color.RED,
Color.WHITE};
public JList_() {
super("titile");
setLayout(new FlowLayout());
list = new JList(colorname);
list.setVisibleRowCount(10);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setLocation();
add(new JScrollPane(list));
list.addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
getContentPane().setBackground(colors[list.getSelectedIndex()]);
}
}
);
}
}
# 1 楼答案
您可以对JFrame使用setLayout(null)。然后可以使用setBounds()方法根据需要在JFrame上的任何位置设置列表位置
# 2 楼答案
setLocation()
函数将两个整数作为参数。trylist.setLocation(0,0)
另一个重载函数将Point
对象作为参数。它将零部件放置在父对象的指定位置另外,您正在将
JList
放置在JScrollPane
中并将其添加到帧中。因此,请尝试为JScrollPane
创建一个单独的对象,然后将其位置设置为0,0上面的代码片段应该适合您
# 3 楼答案
只需将布局中的路线设置为左侧
使用您的代码的完整工作示例:
有关How to Use FlowLayout中
FlowLayout
的详细信息