老師,沒有弄懂,就參考同學 import java.awt.Color; import java.awt.BorderLayout; import java.io.File; import java.awt.Container; import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.List; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class FileUtils extends JFrame{ /** * 列出指定文件夾(目錄)中的所有文件或目錄的名額 * @param dri File類型指定的文件夾(目錄) * @throws IllegalAccessException */ public static String listDirectory(File dir) throws IllegalAccessException{ if(!dir.exists()){ throw new IllegalAccessException("目錄"+dir+"不存在"); } //判斷dir下關聯的文件和目錄是否存在 if(!dir.isDirectory()){ //如果不存在拋出異常 throw new IllegalAccessException(dir + "不是目錄"); } String[] fileName = dir.list(); String name =""; for(String a : fileName){ name=name+a+"\n";} return name; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // TODO Auto-generated method stub JFrame frame=new JFrame(); JPanel main_panel =new JPanel(new BorderLayout()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //frame.setLayout(null); String[] itme =new String[]{".jpg",".zip",".doc"}; JComboBox box=new JComboBox(); for(int i=0;i<itme.length;i++){ box.addItem(itme[i]); } box.setEnabled(true); box.setEditable(true); box.setMaximumRowCount(6); box.setBounds(230,30,130,25); frame.setBounds(400,300,400,200); frame.setVisible(true); JTextArea main_text =new JTextArea(); main_text.setBackground(Color.BLACK); JScrollPane AA=new JScrollPane(); AA.setViewportView(main_text); main_text.setEnabled(false); main_panel.add(box,BorderLayout.NORTH); main_panel.add(AA,BorderLayout.CENTER); frame.add(main_panel); try { String str=FileUtils.listDirectory(new File("C:\\Users\\Administrator\\Desktop\\Java作業5\\soundPlayer\\audio")); main_text.setText(str); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } frame.setBounds(300,400,300,400); frame.setVisible(true); } }