1

このコードからの出力を表示する方法を知りたい...

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  
    }

誰かがこれを達成するのを手伝ってくれませんか。

4

2 に答える 2

2

最も簡単な方法は、おそらく a を使用して、JOptionPaneそれに your を渡すJTextAreaことですJOptionPaneJOptionPane#showMessageDialogたとえば、メソッドを呼び出すことによって

于 2012-06-18T17:51:56.797 に答える
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() メソッドに移動するだけの正確なコードがありましたか?

于 2012-06-18T17:53:04.190 に答える