Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFrame方法包()_Java_User Interface_Jframe_Jpanel_Packaging - Fatal编程技术网

Java JFrame方法包()

Java JFrame方法包(),java,user-interface,jframe,jpanel,packaging,Java,User Interface,Jframe,Jpanel,Packaging,我有一个包含4个JPanel和1个JScrollPane的框架,4个面板在边界布局中,北、东、南、西,滚动窗格在中间 我一直在尝试获取框架的pack方法,但是当运行时,您只会获得窗口的标题栏 有什么想法吗 JFrame conFrame; JPanel panel1; JPanel panel2; JPanel panel3; JPanel panel4; JScrollPane listPane; JList list; Obje

我有一个包含4个JPanel和1个JScrollPane的框架,4个面板在边界布局中,北、东、南、西,滚动窗格在中间

我一直在尝试获取框架的pack方法,但是当运行时,您只会获得窗口的标题栏

有什么想法吗

    JFrame conFrame;
    JPanel panel1;
    JPanel panel2;
    JPanel panel3;
    JPanel panel4;
    JScrollPane listPane;
    JList list;
    Object namesAr[];
    ...
    ...
    ...
    namesAr= namesA.toArray();
    list = new JList(namesAr); 
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
    list.setVisibleRowCount(-3);
    list.addListSelectionListener(this);

    listPane = new JScrollPane(list);

    panel1 = new JPanel();
    panel2 = new JPanel();
    panel3 = new JPanel();
    panel4 = new JPanel();

    conFrame.setLayout(new BorderLayout());

    panel1.setPreferredSize(new Dimension(100, 100));
    panel2.setPreferredSize(new Dimension(100, 100));
    panel3.setPreferredSize(new Dimension(100, 100));
    panel4.setPreferredSize(new Dimension(100, 100));

    panel1.setBackground(Color.red);
    panel2.setBackground(Color.red);
    panel3.setBackground(Color.red);
    panel4.setBackground(Color.red);

    conFrame.pack();

    conFrame.add(panel1, BorderLayout.NORTH);
    conFrame.add(panel2, BorderLayout.EAST);
    conFrame.add(panel3, BorderLayout.SOUTH);
    conFrame.add(panel4, BorderLayout.WEST);
    conFrame.add(listPane, BorderLayout.CENTER);
    conFrame.setVisible(true);

在进行打包()之前,您需要将面板添加到框架中,否则就没有要打包的内容

此外,框架的默认布局是BorderLayout