2012-06-18 28 views

回答

2

不會這樣做的伎倆?:

import java.awt.BorderLayout; 
import java.awt.EventQueue; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.io.File; 
import javax.swing.*; 

public class JavaApplication151 extends JFrame { 

    private JMenuBar menu; 
    private JMenu fileMenu; 
    private JMenuItem showFilesMenuItem; 
    private JTextArea ta; 
    private JScrollPane areaPane; 

    public JavaApplication151() { 
     createAndShowUI(); 
    } 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       JavaApplication151 test = new JavaApplication151(); 
       test.setVisible(true); 
      } 
     }); 
    } 

    private void createAndShowUI() { 
     setTitle("Test"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setLocationRelativeTo(null); 
     addComponentsToPane(); 
     addListeners(); 
     pack(); 
    } 

    private void addComponentsToPane() { 
     ta = new JTextArea(10, 10); 
     areaPane = new JScrollPane(ta); 
     fileMenu = new JMenu("File"); 
     showFilesMenuItem = new JMenuItem("Show Files"); 
     menu = new JMenuBar(); 
     fileMenu.add(showFilesMenuItem); 
     menu.add(fileMenu); 
     getContentPane().add(areaPane, BorderLayout.CENTER); 
     getContentPane().add(menu, BorderLayout.NORTH); 
    } 

    private void addListeners() { 
     showFilesMenuItem.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent ae) { 
       ta.setText("");//clear textarea text 
       listFiles(); 
      } 

      private void listFiles() { 
       File folder = new File("C:\\Users\\Hugo Monteiro\\Documents\\NetBeansProjects\\FileImporter\\ImagensDB"); 
       File[] listOfFiles = folder.listFiles(); 
       for (int i = 0; i < listOfFiles.length; i++) { 
        if (listOfFiles[i].isFile()) { 
         ta.append("File: " + listOfFiles[i].getName()); 
        } 
       } 
      } 
     }); 
    } 
} 

你有確切的代碼只是要你的方法移動到菜單項actionPerformed()方法,除非我誤解了這個問題?

+1

+1這一定是它(@Robin好的和快速的建議,它不承擔任何有關該地區的位置)。作爲對代碼的額外評論,我還將在附加結果之前清除該區域,例如, 'ta.setText(「」)',但也許OP不需要。無論如何,好樣品。 – Boro

+0

@Boro按照建議添加了ta.setText(「」),我確定它是必需的OP。 +1。謝謝 –

+0

對不起,我最近很遲纔回復你的幫助,剛纔很多考試:\我真的很感激,這個技巧非常感謝你。 –

相關問題