java兑现可以选择文件夹功能
java实现可以选择文件夹功能
要求在jsp页面上选择文件夹,action中获取路径
------解决方案--------------------
用java实现文件夹路径的选择:
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
public class SystemOS extends JFrame implements ActionListener{
JPanel pnlMain;
JTextField txtfile;
JButton btnSelect;
JFileChooser fc = new JFileChooser();
public SystemOS() {
pnlMain=new JPanel();
this.getContentPane().add(pnlMain);
txtfile=new JTextField(10);
btnSelect =new JButton("选择");
btnSelect.addActionListener(this);
pnlMain.add(txtfile);
pnlMain.add(btnSelect);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btnSelect){
/*
这是尤为重要的。因为JFileChooser默认的是选择文件,而需要选目录。
故要将DIRECTORIES_ONLY装入模型
另外,若选择文件,则无需此句
*/
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int intRetVal = fc.showOpenDialog(this);
if( intRetVal == JFileChooser.APPROVE_OPTION){
txtfile.setText(fc.getSelectedFile().getPath());
}
}
}
public static void main(String[] args){
JFrame f = new SystemOS();
f.setSize(200,300);
f.setVisible(true);
}
}
------解决方案--------------------
要求在jsp页面上选择文件夹,action中获取路径
------解决方案--------------------
用java实现文件夹路径的选择:
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
public class SystemOS extends JFrame implements ActionListener{
JPanel pnlMain;
JTextField txtfile;
JButton btnSelect;
JFileChooser fc = new JFileChooser();
public SystemOS() {
pnlMain=new JPanel();
this.getContentPane().add(pnlMain);
txtfile=new JTextField(10);
btnSelect =new JButton("选择");
btnSelect.addActionListener(this);
pnlMain.add(txtfile);
pnlMain.add(btnSelect);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btnSelect){
/*
这是尤为重要的。因为JFileChooser默认的是选择文件,而需要选目录。
故要将DIRECTORIES_ONLY装入模型
另外,若选择文件,则无需此句
*/
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int intRetVal = fc.showOpenDialog(this);
if( intRetVal == JFileChooser.APPROVE_OPTION){
txtfile.setText(fc.getSelectedFile().getPath());
}
}
}
public static void main(String[] args){
JFrame f = new SystemOS();
f.setSize(200,300);
f.setVisible(true);
}
}
------解决方案--------------------
- Java code
<%@page language="java" contentType="text/html;charset=gbk"%> <script> /**//*** path 要显示值的对象id ****/ function browseFolder(path) { try { var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息 var Shell = new ActiveXObject("Shell.Application"); var Folder = Shell.BrowseForFolder(0, Message, 64, 17);//起始目录为:我的电脑 //var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面 if (Folder != null) { Folder = Folder.items(); // 返回 FolderItems 对象 Folder = Folder.item(); // 返回 Folderitem 对象 Folder = Folder.Path; // 返回路径 if (Folder.charAt(Folder.length - 1) != "\\") { Folder = Folder + "\\"; } document.getElementById(path).value = Folder; return Folder; } } catch (e) { alert(e.message); } } </script> <html> <head><title>AA</title></head> <body> <table> <tr> <td> <input type="text" name="path" /> </td> <td> <input type="button" onclick="browseFolder('path')" value="选择生成路径" /> </td> </tr> </table> </body> </html>