我想在其中创建一个带有图片的网格,我想知道你是否可以制作一个for循环来更有效地完成这项工作。我手动完成了前几张图片,但需要大量代码才能添加所有图片。我有7个JPanels,每个面板必须包含7个JLabel,每个JLabel都设置为图像(编号并从4开始)。
{
JLabel label1 = new JLabel();
label1.sedIcon(new ImageIcon("4.jpeg"));
p1.add(label1);
JLabel label2 = new JLabel();
label2.setIcon(new ImageIcon("5.jpg"));
p1.add(label2);
JLabel label3 = new JLabel();
label3.setIcon(new ImageIcon("6.jpg"));
p1.add(label3);
JLabel label4 = new JLabel();
label4.setIcon(new ImageIcon("7.jpg"));
p1.add(label4);
JLabel label5 = new JLabel();
label5.setIcon(new ImageIcon("8.jpg"));
p1.add(label5);
JLabel label6 = new JLabel();
label6.setIcon(new ImageIcon("9.jpg"));
p1.add(label6);
JLabel label7 = new JLabel();
label7.setIcon(new ImageIcon("10.jpg"));
p1.add(label7);
JLabel label8 = new JLabel();
label8.setIcon(new ImageIcon("11.jpg"));
p1.add(label8);
JLabel label9 = new JLabel();
label9.setIcon(new ImageIcon("12.jpg"));
p2.add(label9);
}
答案 0 :(得分:4)
for (int i = 4; i < 13; ++i) {
JLabel l = new JLabel();
l.setIcon(new ImageIcon(i + ".jpeg"));
p1.add(l);
}
答案 1 :(得分:1)
你可以像下面那样
JPanel[] jpanels = new JPanel[7];
for(JPanel panel : jpanels) {
int imageNo = 4;
for(int i=0;i<=7;i++) {
JLabel label = new JLabel();
label.setIcon(new ImageIcon(imageNo + ".jpg"));
imageNo++;
panel.add(label);
}
}
答案 2 :(得分:1)
int value = 7;
JPanel[] panels = new JPanel[value];
JLabel[] labels = new JLabel[panels.length];
String fileExtension = "jpg";
for (int i = 0; i < labels.length; i++) {
labels[i] = new JLabel();
labels[i].setIcon(new ImageIcon(i + "." + fileExtension));
panels[i].add(labels[i]);
}