Java JFrame中的图像缩略图视图/编辑器

Java JFrame中的图像缩略图视图/编辑器,java,swing,image-processing,thumbnails,Java,Swing,Image Processing,Thumbnails,有谁能建议我如何在一个选项卡中加载多个图像,并在单击某个特定图像后在另一个选项卡中打开图像处理 这是我代码的一部分。在这里,如果绘制图像,我实际上需要打开加载图像,在选择特定图像时,它应该打开到其他选项卡。请告诉我如何使用jlist或通过任何其他方式完成 import javax.swing.*; import java.awt.*; import java.awt.Event.*; import java.io.File; import java.awt.image.BufferedImage

有谁能建议我如何在一个选项卡中加载多个图像,并在单击某个特定图像后在另一个选项卡中打开图像处理

这是我代码的一部分。在这里,如果绘制图像,我实际上需要打开加载图像,在选择特定图像时,它应该打开到其他选项卡。请告诉我如何使用jlist或通过任何其他方式完成

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
谁能建议我如何加载多个

使用循环

…图像

使用
ImageIO.read(文件/URL/InputStream)

在账单上

JPanel
添加到具有适当布局的选项卡,例如
FlowLayout
GridLayout
。将图像放入未装饰的
JButton
中,并将其添加到面板中

…单击特定图像后

向按钮添加一个
ActionListener

…它应该打开另一个选项卡进行图像处理

JTabbedPane.addTab(“图像名称”,imageEditorComponent)

谁能建议我如何加载多个

使用循环

…图像

使用
ImageIO.read(文件/URL/InputStream)

在账单上

JPanel
添加到具有适当布局的选项卡,例如
FlowLayout
GridLayout
。将图像放入未装饰的
JButton
中,并将其添加到面板中

…单击特定图像后

向按钮添加一个
ActionListener

…它应该打开另一个选项卡进行图像处理


JTabbedPane.addTab(“图像名称”,imageEditorComponent)

我可以使用imageicon和jlable在缩略图中加载多个图像,但这样做无法获得所需的图像。我正在开发一个图像处理应用程序show need在缩略图中显示文件夹的多个图像,单击该应用程序应在其他选项卡中打开以对其进行处理。我可以使用imageicon和jlable在缩略图中加载多个图像,但通过这样做,我无法获得我需要的图像。我正在开发一个图像处理应用程序显示需要在缩略图中显示文件夹的多个图像,点击它应该在其他选项卡中打开以处理它。您好,现在我有另一个小问题。为了比较,我需要同时单击两张图像。我的意思是,这两张单击的图像应该在另一个选项卡中打开以进行比较。您可以建议我如何解决此问题吗?使用
JList
显示原始图像。将
ListSelectionListener
添加到列表中。可能在
JToolBar
中的列表下方添加按钮(编辑、比较等)。在侦听器中接收到
ListSelectionEvent
时,获取
int numSelect=list.getSelectedIndices()
。如果
numSelect==2
,则同时启用编辑和比较。如果数字为0,则禁用这两个选项。如果有,只启用Edit.Thank,但由于我是java开发新手,我从未像使用JList一样使用过一次或两次,但从未用于显示多个图像。因此,请告诉我如何使用JList显示多个图像?为什么不提出一个新问题并发布您的最佳尝试?Andrew请告诉我如何使用JList显示图像?您好,现在我有另一个小问题。为了比较,我需要同时单击两张图像。我的意思是,这两张单击的图像应该在另一个选项卡中打开以进行比较。您可以建议我如何解决此问题吗?使用
JList
显示原始图像。将
ListSelectionListener
添加到列表中。可能在
JToolBar
中的列表下方添加按钮(编辑、比较等)。在侦听器中接收到
ListSelectionEvent
时,获取
int numSelect=list.getSelectedIndices()
。如果
numSelect==2
,则同时启用编辑和比较。如果数字为0,则禁用这两个选项。如果有,只启用Edit.Thank,但由于我是java开发新手,我从未像使用JList一样使用过一次或两次,但从未用于显示多个图像。所以,请给我一个提示,我如何使用JList显示多个图像?为什么不提出一个新问题并发布一个你的最佳尝试?Andrew,请给我看看