java JList大小

java JList大小,java,swing,jlist,Java,Swing,Jlist,嗨,我想将JList高度设置为屏幕的高度 public Locations() { Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); screenWidth = screen.width; screenHeight = screen.height; initComponents(); } private void initComponents() { setLayout(new

嗨,我想将JList高度设置为屏幕的高度

public Locations() {
    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
    screenWidth = screen.width;
    screenHeight = screen.height;
    initComponents();
}

private void initComponents() {
    setLayout(new GroupLayout());
    add(getJScrollPane0(), new Constraints(new Leading(8, 100, 10, 10), new Leading(5, 135, 10, 10)));
    setSize(1366, 768);
}

private JScrollPane getJScrollPane0() {
    if (jScrollPane0 == null) {
        jScrollPane0 = new JScrollPane();
        jScrollPane0.setSize(screenWidth, screenHeight);
        jScrollPane0.setViewportView(getJList0());
    }
    return jScrollPane0;
}

private JList getJList0() {
    if (jList0 == null) {
        jList0 = new JList();
        jList0.setSize(400, screenHeight);
        DefaultListModel listModel = new DefaultListModel();
        listModel.addElement("item0");
        listModel.addElement("item1item1item1item1item1");
        listModel.addElement("item2");
        listModel.addElement("item3");
        jList0.setModel(listModel);
    }
    return jList0;
}

private static void installLnF() {
    try {
        String lnfClassname = PREFERRED_LOOK_AND_FEEL;
        if (lnfClassname == null)
            lnfClassname = UIManager.getCrossPlatformLookAndFeelClassName();
        UIManager.setLookAndFeel(lnfClassname);
    } catch (Exception e) {
        System.err.println("Cannot install " + PREFERRED_LOOK_AND_FEEL
                + " on this platform:" + e.getMessage());
    }
}

/**
 * Main entry of the class.
 * Note: This class is only created so that you can easily preview the result at runtime.
 * It is not expected to be managed by the designer.
 * You can modify it as you like.
 */
public static void main(String[] args) {
    installLnF();
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setTitle("Locations");
            Locations content = new Locations();
            content.setPreferredSize(content.getSize());
            frame.add(content, BorderLayout.CENTER);
            frame.pack();
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        }
    });
}
但列表大小就像我在编辑器中绘制的一样,如何更改它

编辑:

我通过添加

add(getJScrollPane0(), new Constraints(new Leading(8, 100, 10, 10), new Leading(5, screenHeight - 115, 10, 10)));

这里

每个列表都与JScrollPane关联。 所以,首先设置和list关联的JScrollPane的大小,然后使用list.setsize(width,height)方法设置list的大小

在我的节目中:

jScrollPane1.setSize(100,500);
list.setSize(100,500);

你在哪里设置尺寸?是这一行
setSize(1366768)还是说这行
jList0.setSize(400,屏幕高度)?您使用哪种编辑器?
jList0.setSize(400,屏幕高度)这是JList的行,我在使用Eclipse和SVE(Swing Visual Editor)时也注意到布局管理器以后可能会更改组件的大小(取决于布局管理器和使用的设置)。那么我如何更改它呢??,因为当我运行程序时,框架是屏幕的100%宽度和高度。但它是通过scrollPane解决的,我想使用JScroolPane swing组件,是否可行?不,永远不要手动调整大小/定位,这是合适的布局管理器的唯一任务。首先,我尝试使用setsize(w,h)方法调整列表大小,但没有成功。然后,我首先设置滚动窗格的大小,然后设置列表的大小。