使用循环创建新的jpanel

时间:2013-06-14 08:05:22

标签: java swing loops object jpanel

我使用循环创建新的jpanel。但我如何使用不同的对象名称。 这是我的代码:

for(int i=0; i<panelnumbers.length(); i++){
    MainConfig.page21.addNewPanel(MainConfig.page21.pos1, "INFORMACIÓN No. " + (i + 2));
}

public static void addNewPanel(int y, String title) {
    Add a = new Add(title);
    jLayeredPane3.add(a);
    a.setBounds(0, y, 1333, 450);
    jPanel1.setPreferredSize(new Dimension(1333, (pos + 480)));
    jLayeredPane3.setPreferredSize(new java.awt.Dimension(1333, (pos + 480)));
    jLayeredPane3.validate();
    jScrollPane1.getViewport().setViewPosition(new Point(0, (pos + 480)));
}

2 个答案:

答案 0 :(得分:1)

  

我使用循环创建新的jpanel。但我如何使用不同的对象   名。

答案 1 :(得分:1)

您使用的是绝对坐标,布局管理器可以跨平台提供更好的GUI,以后的Windows版本,可访问性等等。

MainConfig.page21.setLayout(new BoxLayout(MainConfig.page21, BoxLayout.Y_AXIS));

通常一个人不需要JPanel,事件监听器会知道如何检索面板。

然而,您可以维护一组JPanel:

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

在addPanel中创建一个局部变量,然后添加

public void addNewPanel(int y, String title) { // Not static
    JPanel panel = new JPane();
    ...
    panels.add(panel);
}