我使用循环创建新的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)));
}
答案 0 :(得分:1)
我使用循环创建新的jpanel。但我如何使用不同的对象 名。
使用JPanel.get/putClientProperty,
您可以将此方法相乘
每个事件/这些值,例如from Listeners
答案 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);
}