Java 在选项卡窗格中显示多个图像

Java 在选项卡窗格中显示多个图像,java,image,swing,jtabbedpane,Java,Image,Swing,Jtabbedpane,有谁能建议我在jtabbedpane的选项卡中显示多个图像的方法吗?例如,我想显示图像的缩略图,并选择应在其他选项卡中打开的图像 我已经把我的代码的一部分,以显示我想要什么。在这里,我已经绘制了图像,但实际上我想加载这些图像,以允许他们选择进行编辑 import javax.swing.*; import java.awt.*; import java.awt.Event.*; import java.io.File; import java.awt.image.BufferedImage; i

有谁能建议我在jtabbedpane的选项卡中显示多个图像的方法吗?例如,我想显示图像的缩略图,并选择应在其他选项卡中打开的图像

我已经把我的代码的一部分,以显示我想要什么。在这里,我已经绘制了图像,但实际上我想加载这些图像,以允许他们选择进行编辑

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;
        }
   }
} 
import javax.swing.*;
导入java.awt.*;
导入java.awt.Event.*;
导入java.io.File;
导入java.awt.image.buffereImage;
导入javax.imageio.imageio;
导入java.io.IOException;
公共类SwindDesign{
公共静态void main(字符串[]args)引发IOException{
JFrame=新JFrame(“分裂疼痛”);
框架设置尺寸(700500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(新的GridLayout());
//面板
JPanel面板=新的JPanel();
panel.setLayout(新的BoxLayout(panel,BoxLayout.Y_轴));
panel.add(新图片面板());
JTabbedPane jtp=新JTabbedPane();
jtp.addTab(“设置图像”,面板);
addTab(“比较图像”,newjbutton());
帧添加(jtp);
}
}
类PicturePanel扩展了JPanel{
文件夹=新文件(“C:/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures”);
File[]listOfFiles=folder.listFiles();
ImageIcon[]img;
JComponent-lblimg;
JTabbedPane jtp=新JTabbedPane();
私有BuffereImage[]b=新BuffereImage[10];
公共PicturePanel()引发IOException{
for(int i=0;i
  • 使用
    JPanel
    GridLayout
    gridbagloayout
    显示
    JLabel
    s的列表
  • 为每个标签设置一个图像,并在每个标签上附加一个
    MouseListener
    。单击标签创建一个新的带有大图像的
    JPanel
    JLabel
    ,并将其添加到选项卡

  • 更多关于缩略图。也可以考虑<代码> JSPLITANE < /代码>。Lable没有添加到JLIST中,如何将JLab签添加到JLIST中?