我有一个浏览按钮,它打开一个对话框,用户可以在其中查看目录和文件。我在将用户选择的文件附加到 JTextArea 时遇到了一些问题。我正在尝试这样做,以便用户一次可以选择多个文件。这些文件最终将提交到 Oracle 数据库。
我用于文件选择器的代码在这里:
final JFileChooser fc = new JFileChooser();
JList list = new JList();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
if (JFileChooser.APPROVE_OPTION == fc.showOpenDialog(list)) {
File file = fc.getSelectedFile();
你能告诉我如何将文件附加到 JTextArea 吗?
谢谢。
编辑:
我添加了以下内容:
JButton btnBrowse = new JButton("Browse");
btnBrowse.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JFileChooser fc = new JFileChooser();
fc.setMultiSelectionEnabled(true);
JList list = new JList();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
if (JFileChooser.APPROVE_OPTION == fc.showOpenDialog(list)) {
File file = fc.getSelectedFile();
}
for (File file : fc.getSelectedFiles()) {
log.append(file.getPath());
}
}
});
But when selecting browse and choosing multiple files and then selecting open the files are not being displayed within the text area.
完整代码:
package com.example.android.apis.appwidget;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Font;
import javax.swing.JFileChooser;
import javax.swing.JList;
import javax.swing.JTextArea;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JCheckBox;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.File;
import java.awt.Color;
import javax.swing.UIManager;
public class VFSTool extends JFrame {
private JPanel contentPane;
static private final String newline = "\n";
JButton openButton, saveButton;
JTextArea log;
JFileChooser fc;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VFSTool frame = new VFSTool();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Tool() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 499, 423);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JLabel lblVfsLoaderTool = new JLabel("Tool");
lblVfsLoaderTool.setBackground(new Color(255, 255, 153));
lblVfsLoaderTool.setForeground(UIManager.getColor("Button.darkShadow"));
lblVfsLoaderTool.setFont(new Font("Copperplate Gothic Light", Font.BOLD, 25));
lblVfsLoaderTool.setHorizontalAlignment(SwingConstants.CENTER);
contentPane.add(lblVfsLoaderTool, BorderLayout.NORTH);
JPanel panel = new JPanel();
panel.setBackground(UIManager.getColor("Button.darkShadow"));
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(null);
JButton btnBrowse = new JButton("Browse");
btnBrowse.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JFileChooser fc = new JFileChooser();
fc.setMultiSelectionEnabled(true);
JList list = new JList();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
if (JFileChooser.APPROVE_OPTION == fc.showOpenDialog(list)) {
File file = fc.getSelectedFile();
}
for (File file : fc.getSelectedFiles()) {
log.append(file.getPath() + System.getProperty("line.separator"));
}
}
});
btnBrowse.setBounds(107, 185, 97, 25);
panel.add(btnBrowse);
JLabel lblCategory = new JLabel("label1");
lblCategory.setForeground(UIManager.getColor("Button.background"));
lblCategory.setBounds(12, 13, 82, 25);
panel.add(lblCategory);
JComboBox comboBox = new JComboBox();
comboBox.setForeground(UIManager.getColor("Button.background"));
comboBox.setBounds(91, 13, 113, 24);
panel.add(comboBox);
JLabel lblNewLabel = new JLabel("label2");
lblNewLabel.setForeground(UIManager.getColor("Button.background"));
lblNewLabel.setBounds(12, 50, 77, 25);
panel.add(lblNewLabel);
JComboBox comboBox_1 = new JComboBox();
comboBox_1.setBounds(91, 50, 113, 25);
panel.add(comboBox_1);
JLabel lblLanguage = new JLabel("label3");
lblLanguage.setForeground(UIManager.getColor("Button.background"));
lblLanguage.setBounds(12, 114, 56, 16);
panel.add(lblLanguage);
JComboBox comboBox_2 = new JComboBox();
comboBox_2.setBounds(91, 110, 113, 25);
panel.add(comboBox_2);
JCheckBox chckbxIncludeExt = new JCheckBox("include");
chckbxIncludeExt.setForeground(UIManager.getColor("Button.background"));
chckbxIncludeExt.setBackground(UIManager.getColor("Button.darkShadow"));
chckbxIncludeExt.setBounds(12, 219, 113, 25);
panel.add(chckbxIncludeExt);
JButton btnSubmit = new JButton("Submit");
btnSubmit.setBounds(107, 264, 97, 25);
panel.add(btnSubmit);
JTextArea textArea = new JTextArea();
textArea.setBounds(240, 14, 219, 220);
panel.add(textArea);
}
}