좋아요, 그럼 데이터베이스에서 하나의 이미지를 가져 오는 데 아무런 문제가 없습니다. 나는 이것을 JLabel
에 ImageIcon
으로 돌려 보낸다.데이터베이스에서 Java로 여러 이미지 표시
while (rs.next()) {
images = rs.getString("path");
System.out.println(images + "\n");
System.out.println("TESTING - READING IMAGE");
BufferedImage img = ImageIO.read(new File(images));
System.out.println("img = " + images);
imagelabel = new JLabel(new ImageIcon(img));
imagelabel.setPreferredSize(new Dimension(200, 200));
imageselect.add(imagelabel);
는 그러나, 나는 여러 이미지와 함께이 작업을 수행하고, CardLayout
에 새로운 JPanel
각 JLabel
를 할당해야합니다. 나는 루프의 일종을 필요로 알고, 이것을하는 가장 좋은 방법에 대한 제안을 찾고! 여기
BufferedImage imgA = ImageIO.read(new File("lmkpackage/images/one.jpg"));
image1 = new JLabel(new ImageIcon(imgA));
image1.setPreferredSize(new Dimension(200, 200));
img1 = new JPanel();
img1.add(image1);
loadcard.add(img1,"1");
cl2.show(loadcard,"1");
BufferedImage imgB = ImageIO.read(new File("lmkpackage/images/two.jpg"));
image2 = new JLabel(new ImageIcon(imgB));
image2.setPreferredSize(new Dimension(200, 200));
img2 = new JPanel();
img2.add(image2);
loadcard.add(img2, "2");
BufferedImage imgC = ImageIO.read(new File("lmkpackage/images/three.jpg"));
image3 = new JLabel(new ImageIcon(imgC));
image3.setPreferredSize(new Dimension(200, 200));
img3 = new JPanel();
img3.add(image3);
loadcard.add(img3, "3");
BufferedImage imgD = ImageIO.read(new File("lmkpackage/images/four.jpg"));
image4 = new JLabel(new ImageIcon(imgD));
image4.setPreferredSize(new Dimension(200, 200));
img4 = new JPanel();
img4.add(image4);
loadcard.add(img4, "4");
BufferedImage imgE = ImageIO.read(new File("lmkpackage/images/five.jpg"));
image5 = new JLabel(new ImageIcon(imgE));
image5.setPreferredSize(new Dimension(200, 200));
img5 = new JPanel();
img5.add(image5);
loadcard.add(img5, "5");
내 요구대로에서 시도입니다 :
while (rs.next()) {
images = rs.getString("path");
System.out.println(images + "\n");
System.out.println("TESTING - READING IMAGE");
for(i=0; i < 5; i++){
BufferedImage img[i] = ImageIO.read(new File(images));
imglab[i] = new JLabel(new ImageIcon(imgIcon[i]));
imgPanel[i]= new JPanel();
imgPanel[i].add(imglab[i]);
loadcard.add(imgPanel[i], i);
}//End For
}//EndWhile
그리고 임 점점 오류입니다 :
letmeknow.java:181 : ']'예상되는 BufferedImage IMG [I] = ImageIO.read (새 파일 (이미지)); letmeknow.java:181 : 불법적 인 표현식 시작 BufferedImage img [i] = ImageIO.read (새 파일 (이미지));
이렇게하기 위해 루프를 만들려고하면 어떻게됩니까? 최선의 시도와 오류 메시지를 보여 주시면 잘못된 일을하는 것에 대해 더 잘 알 수 있습니다. –