gpt4 book ai didi

java - 如何从JFrame中选择图像然后上传到imgur?

转载 作者:行者123 更新时间:2023-12-01 13:56:03 24 4
gpt4 key购买 nike

我在互联网上进行了一些浏览,发现这段代码显示了如何在 JFrame 中显示多张照片,如下所示。我想要做的是选择一张照片并能够通过单击按钮将其上传到 imgur。我知道如何通过java上传文件到imgur,但我不知道如何选择一张图像。有人有解决办法吗?

import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;

import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class ListView {

public static void main(String[] args) throws IOException {
String path = "C:/Users/Photos";
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

File folder = new File(path);
File[] listOfFiles = folder.listFiles();
DefaultListModel listModel = new DefaultListModel();
int count = 0;
for (int i = 0; i < listOfFiles.length; i++)
{
System.out.println("check path"+listOfFiles[i]);
String name = listOfFiles[i].toString();
// load only JPEGs
if ( name.endsWith("png") ) {
ImageIcon ii = new ImageIcon(ImageIO.read(listOfFiles[i]));
listModel.add(count++, ii);
}
}
JList lsm=new JList(listModel);
lsm.setVisibleRowCount(1);

frame.add(new JScrollPane(lsm));

frame.pack();
frame.setVisible(true);
}
}

最佳答案

I don't know how to select one image.

  • JList 使用 ListSelectionModel 的实例来管理其选择。默认情况下,列表选择模型允许一次选择任意项目组合。您可以通过调用 setSelectionMode() 指定不同的选择模式(即单项选择)列表中的方法。

     jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  • 为此,在使用 JList 进行项目选择事件时,使用 ListSelectionListener 来选择您的项目。

     jList1.addListSelectionListener(new ListSelectionListener() {

    @Override
    public void valueChanged(ListSelectionEvent e) {
    JList jlist = (JList) e.getSource();
    Object curentSelectedObject = jlist.getModel().getElementAt(e.getFirstIndex());
    Object lastSelectedObject = jlist.getModel().getElementAt(e.getLastIndex());
    }
    });

使用 ListSelectionListener 优于将 MouseListenerJList 一起使用。与MouseListener不同的是,简单且级别较高,它还有另外两个函数evt.getFirstIndex()evt.getLastIndex(),非常有用。

教程资源:

  1. How to Write a List Selection Listener

关于java - 如何从JFrame中选择图像然后上传到imgur?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19619845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com