1
jtabbedpane의 탭에 여러 이미지를 표시하는 방법을 제안 할 수 있습니까? 예를 들어 이미지의 축소판보기를 표시하고 다른 탭에서 열어야하는 이미지를 선택하고 싶습니다.tabbedpane에 여러 이미지를 표시
내가 원하는 것을 보여주기 위해 제 코드를 넣었습니다. 여기에 나는 이미지를 그렸지만 실제로 이미지를로드하여 편집을 위해 선택할 수있게하려고합니다. GridLayout
또는 GridBagLayout
와
import javax.swing.*;
import java.awt.*;
import java.awt.Event.*;
import java.io.File;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.IOException;
public class SwindDesign {
public static void main(String[] args) throws IOException {
JFrame frame = new JFrame("Split Pain");
frame.setSize(700, 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout());
//panel
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(new PicturePanel());
JTabbedPane jtp = new JTabbedPane();
jtp.addTab("Set Image", panel);
jtp.addTab("Compare Image", new JButton());
frame.add(jtp);
}
}
class PicturePanel extends JPanel {
File folder = new File("C:/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures");
File[] listOfFiles = folder.listFiles();
ImageIcon[] img ;
JComponent lblimg;
JTabbedPane jtp = new JTabbedPane();
private BufferedImage[] b = new BufferedImage[10];
public PicturePanel() throws IOException {
for (int i = 0; i < listOfFiles.length; i++) {
System.out.println("chek panth"+listOfFiles[i].getName().toString());
b[i] = ImageIO.read(new File("C:/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures/" + listOfFiles[i].getName().toString()));
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponents(g);
Graphics2D g2 = (Graphics2D) g;
int k = 10;
for (int j = 0; j < listOfFiles.length - 1; j++) {
g2.drawImage(b[j], k, 0, 100, 100, null);
k = k + 75;
}
}
}
더에 추가 [여기] (http://stackoverflow.com/a/6916719/230513). 또한'JSplitPane'을 고려하십시오. – trashgod
Lable은 jlist에 jlabel을 추가하는 방법에 jlist에 추가되지 않습니까? – Jony