2012-06-18 1 views
1

Я хотел бы знать, как я могу показать выход из этого куска кода ...при MenuItem нажатии, как создать JTextField

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()) { 
     jTextArea1.append("File: " +listOfFiles[i].getName()); 
    } 
} 

Я хочу, чтобы открыть это в JTextArea после нажатия JMenuItem в JMenu

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {            
    //code for Output 
    } 

Может кто-то пожалуйста, помогите мне достичь этого.

ответ

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

извините за мою задержку переигрывания на вашу помощь только много экзаменов в последнее время: \ я действительно ценю, что сделал трюк, спасибо, очень. –

 Смежные вопросы

  • Нет связанных вопросов^_^