如何在Java中使用for循环创建Jpanels

问题描述 投票:0回答:1

[我想知道是否有人可以使用for循环创建JPanels并将它们添加到JFrame ...经过一番搜寻之后,我到达了这里....(我创建了一个扩展Jpanel的类)。如果有人可以在这里伸出援助之手,那就太好了!

package com.practise.practise2;

import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;

public class window extends JFrame {

    List<JPanel> panels = new ArrayList<JPanel>();

    public window(){
        setLayout(null);
        int X = 5;
        int Y = 5 ;
        for(int x = 0; x < 2; x++) {
            addPanel();
        }
        for(JPanel panel:panels){
            add(panel);
            panel.setBounds(X,Y, 100, 100);
            X = X + 10 ;
        }
        setVisible(true);
        setPreferredSize(new Dimension(500, 500));
        setMinimumSize(new Dimension(500, 500));
        setMaximumSize(new Dimension(500, 500));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void addPanel(){
        mainPanel panel = new mainPanel();
        panel.add(panel);
    }
    public static void main(String[] args){
        new window();
    }
}
java user-interface jframe jpanel
1个回答
0
投票
  1. 您将面板添加到其自身,我认为没有任何意义:

panel.add(panel);

  1. 您有一个循环的面板列表,但是此列表为空,您永远不会在其中添加任何元素:

for(JPanel panel:panels)

© www.soinside.com 2019 - 2024. All rights reserved.