2013-10-27 1 views
0

나는 인터넷에서 일부 브라우징을 해왔으며이 코드는 아래 보이는 것처럼 여러 사진을 JFrame에 표시하는 방법을 보여줍니다. 내가 할 수 있기를 원하는 것은 사진을 선택하고 단추를 클릭하여 사진을 imgur에 업로드 할 수있게하려는 것입니다. 자바를 통해 imgur에 파일을 업로드하는 방법을 알고 있지만 하나의 이미지를 선택하는 방법을 모르겠습니다. 누구든지 해결책이 있습니까? 당신이 목록에 무엇을 선택한 취득해야하는 경우JFrame에서 이미지를 선택한 다음 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); 
} 
} 
+1

희망! http://stackoverflow.com/questions/4344682/double-click-event-on-jlist-element – Athiruban

+0

자체 설명 제목은 다음과 같습니다. JList에서 이미지를 선택하는 방법 (JFrame 대신) – Sage

답변

0

, 당신은 이벤트 처리기에서 같은 것을 사용할 수 있습니다

ImageIcon selected = (ImageIcon)lsm.getSelectedValue(); 
    if(selected == null){ 
     // nothing selected 
    }else{ 
     // something is selected 
    } 
1

나는 하나 개의 이미지를 선택하는 방법을 모르겠어요.

  • JList는 선택을 관리하는 ListSelectionModel의 인스턴스를 사용한다. 기본적으로 목록 선택 모델을 사용하면 한 번에 여러 항목을 조합하여 선택할 수 있습니다. 목록에서 setSelectionMode() 메소드를 호출하여 다른 선택 모드 (예 : 단일 항목 선택)를 지정할 수 있습니다.

    jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
    
  • 는 항목을 선택합니다 ListSelectionListener를 사용 JList과 항목 선택 이벤트를 수행합니다.

    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 사용 JList으로 MouseListener를 사용 위에 바람직하다. MouseListener과 달리 단순하고 높은 수준이어서 다른 두 가지 기능이 있습니다. evt.getFirstIndex()evt.getLastIndex()은 매우 유용합니다.

튜토리얼 자원이 도움이

  1. How to Write a List Selection Listener
관련 문제