请教:如何在java程序中浏览器调用资源管理器器

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
/***&*/package com.test.fe.import java.io.Fimport java.util.Vimport javax.swing.Iimport javax.swing.JTimport javax.swing.event.TreeExpansionEimport javax.swing.event.TreeExpansionLimport javax.swing.event.TreeModelLimport javax.swing.event.TreeSelectionEimport javax.swing.event.TreeSelectionLimport javax.swing.filechooser.FileSystemVimport javax.swing.tree.DefaultTreeCellRimport javax.swing.tree.TreeMimport javax.swing.tree.TreeP/*** @author root&& *&& */public class FileTree extends JTree {&&& /**&&& *&&&& */&&& public FileTree() {&&& }&&& static final long serialVersionUID = 0;&&& private FileList theL&&& public FileTree(FileList list) {&&& &&& theList =&&& &&& setModel(new FileSystemModel(new FolderNode()));&&& &&& this.setCellRenderer(new FolderRenderer());&&& &&& addTreeSelectionListener(new TreeSelectionListener() {&&& &&& &&& public void valueChanged(TreeSelectionEvent tse) {&&& &&& &&& }&&& &&& });&&& &&& this.setSelectionRow(0);&&& }&&& public void fireValueChanged(TreeSelectionEvent tse) {&&& &&& TreePath tp = tse.getNewLeadSelectionPath();&&& &&& Object o = tp.getLastPathComponent();&&& &&& // theList.fireTreeSelectionChanged((PathNode)o);&&& &&& theList.fireTreeSelectionChanged((FolderNode) o);&&& }&&& public void fireTreeCollapsed(TreePath path) {&&& &&& super.fireTreeCollapsed(path);&&& &&& TreePath curpath = getSelectionPath();&&& &&& if (path.isDescendant(curpath)) {&&& &&& &&& setSelectionPath(path);&&& &&& }&&& }&&& public void fireTreeWillExpand(TreePath path) {&&& &&& System.out.println("Path will expand is " + path);&&& }&&& public void fireTreeWillCollapse(TreePath path) {&&& &&& System.out.println("Path will collapse is " + path);&&& }&&& class ExpansionListener implements TreeExpansionListener {&&& &&& FileT&&& &&& public ExpansionListener(FileTree ft) {&&& &&& &&& tree =&&& &&& }&&& &&& public void treeCollapsed(TreeExpansionEvent tee) {&&& &&& }&&& &&& public void treeExpanded(TreeExpansionEvent tee) {&&& &&& }&&& }}class FileSystemModel implements TreeModel {&&& I_fileSystem theR&&& char fileType = I_fileSystem.DIRECTORY;&&& public FileSystemModel(I_fileSystem fs) {&&& &&& theRoot =&&& }&&& public Object getRoot() {&&& &&& return theR&&& }&&& public Object getChild(Object parent, int index) {&&& &&& return ((I_fileSystem) parent).getChild(fileType, index);&&& }&&& public int getChildCount(Object parent) {&&& &&& return ((I_fileSystem) parent).getChildCount(fileType);&&& }&&& public boolean isLeaf(Object node) {&&& &&& return ((I_fileSystem) node).isLeaf(fileType);&&& }&&& public int getIndexOfChild(Object parent, Object child) {&&& &&& return ((I_fileSystem) parent).getIndexOfChild(fileType, child);&&& }&&& public void valueForPathChanged(TreePath path, Object newValue) {&&& }&&& public void addTreeModelListener(TreeModelListener l) {&&& }&&& public void removeTreeModelListener(TreeModelListener l) {&&& }}interface I_fileSystem {&&& final public static char DIRECTORY = 'D';&&& final public static char FILE = 'F';&&& final public static char ALL = 'A';&&& public Icon getIcon();&&& public I_fileSystem getChild(char fileType, int index);&&& public int getChildCount(char fileType);&&& public boolean isLeaf(char fileType);&&& public int getIndexOfChild(char fileType, Object child);}/*** A data model for a JTree. This model explorer windows file system directly.* &p&* Perhaps there is a fatal bug with this design. For speed, each of instances* of this model contains file objects of subdirectory, up to now, there isn't* any method to release them until program be end. I'm afraid that the memory* would be full of if the file system is large enough and JVM memery size* setted too small.* &p&* I won't pay more attention to solve it. it isn't goal of current a exercise.&& ** @author Jason&& */class FolderNode implements I_fileSystem {&&& // private static FolderNode theR&&& private static FileSystemView fsV&&& private static boolean showHiden =;&&& private File theF&&& private Vector&File& all = new Vector&File&();&&& private Vector&File& folder = new Vector&File&();&&&&&&& /**&&& * set that whether apply hiden file.&&& * @param ifshow&&&&&& */&&& public void setShowHiden(boolean ifshow) {&&& &&& showHiden =&&& }&&& public Icon getIcon() {&&& &&& return fsView.getSystemIcon(theFile);&&& }&&& public String toString() {&&& &&& // return fsView.&&& &&& return fsView.getSystemDisplayName(theFile);&&& }&&& /**&&& * create a root node. by default, it should be the DeskTop in window file system.&&&&&& */&&& public FolderNode() {&&& &&& fsView = FileSystemView.getFileSystemView();&&& &&& theFile = fsView.getHomeDirectory();&&& &&& prepareChildren();&&& }&&&&&&& private void prepareChildren() {&&& &&& File[] files = fsView.getFiles(theFile, showHiden);&&& &&& for (int i = 0; i & files. i++) {&&& &&& &&& all.add(files[i]);&&& &&& &&& if (files[i].isDirectory()&&& && !files[i].toString().toLowerCase().endsWith(".lnk")) {&&& &&& &&& &&& folder.add(files[i]);&&& &&& &&& }&&& &&& }&&& }&&& private FolderNode(File file) {&&& &&& theFile =&&& &&& prepareChildren();&&& }&&& public FolderNode getChild(char fileType, int index) {&&& &&& if (I_fileSystem.DIRECTORY == fileType) {&&& &&& &&& return new FolderNode(folder.get(index));&&& &&& } else if (I_fileSystem.ALL == fileType) {&&& &&& &&& return new FolderNode(all.get(index));&&& &&& } else if (I_fileSystem.FILE == fileType) {&&& &&& &&&&&& &&& } else {&&& &&& &&&&&& &&& }&&& }&&& public int getChildCount(char fileType) {&&& &&& if (I_fileSystem.DIRECTORY == fileType) {&&& &&& &&& return folder.size();&&& &&& } else if (I_fileSystem.ALL == fileType) {&&& &&& &&& return all.size();&&& &&& } else if (I_fileSystem.FILE == fileType) {&&& &&& &&& return -1;&&& &&& } else {&&& &&& &&& return -1;&&& &&& }&&& }&&& public boolean isLeaf(char fileType) {&&& &&& if (I_fileSystem.DIRECTORY == fileType) {&&& &&& &&& return folder.size() == 0;&&& &&& } else if (I_fileSystem.ALL == fileType) {&&& &&& &&& return all.size() == 0;&&& &&& } else if (I_fileSystem.FILE == fileType) {&&& &&& &&&&&& &&& } else {&&& &&& &&&&&& &&& }&&& }&&& public int getIndexOfChild(char fileType, Object child) {&&& &&& if (child instanceof FolderNode) {&&& &&& &&& if (I_fileSystem.DIRECTORY == fileType) {&&& &&& &&& &&& return folder.indexOf(((FolderNode) child).theFile);&&& &&& &&& } else if (I_fileSystem.ALL == fileType) {&&& &&& &&& &&& return all.indexOf(((FolderNode) child).theFile);&&& &&& &&& } else if (I_fileSystem.FILE == fileType) {&&& &&& &&& &&& return -1;&&& &&& &&& } else {&&& &&& &&& &&& return -1;&&& &&& &&& }&&& &&& } else {&&& &&& &&& return -1;&&& &&& }&&& }}class FolderRenderer extends DefaultTreeCellRenderer {&&& private static final long serialVersionUID = 1L;&&& public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row,&&& boolean hasFocus) {&&& &&& I_fileSystem node = (I_fileSystem)&&& &&& Icon icon = node.getIcon();&&& &&& setLeafIcon(icon);&&& &&& setOpenIcon(icon);&&& &&& setClosedIcon(icon);&&& &&& return super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);&&& }}-----------------2-----------在这部分,实现右侧的文件列表:/***&*/package com.test.fe.import java.awt.Cimport javax.swing.JLimport javax.swing.JLimport javax.swing.ListCellRimport javax.swing.ListMimport javax.swing.event.ListDataL/*** @author root**/public class FileList extends JList {&&& //PathNode theN&&& FileListModel dataM&&& static final long serialVersionUID = 10;&&& /**&&& *&&&& */&&& public FileList() {&&& &&& dataModel = new FileListModel();&&& &&& setModel(dataModel);&&& &&& this.setCellRenderer(new MyCellRenderer());&&& }&&& public void fireTreeSelectionChanged(I_fileSystem node) {&&& &&& //Vector files = node.getFiles();&&& &&& //theNode =&&& &&& dataModel.setNode(node);&&& &&& updateUI();&&& }}class FileListModel implements ListModel {&&& FileList theL&&& I_fileS&&& char fileType = I_fileSystem.ALL;&&& public void setNode(I_fileSystem node) {&&& &&& this.node =&&& }&&& public Object getElementAt(int index) {&&& &&& if (node != null) {&&& &&& &&& return ((I_fileSystem) node).getChild(fileType, index);&&& &&& } else {&&& &&& &&&&&& &&& }&&& }&&& public int getSize() {&&& &&& if (node != null) {&&& &&& &&& return ((I_fileSystem) node).getChildCount(fileType);&&& &&& } else {&&& &&& &&& return 0;&&& &&& }&&& }&&& public void addListDataListener(ListDataListener l) {&&& }&&& public void removeListDataListener(ListDataListener l) {&&& }}class MyCellRenderer extends JLabel implements ListCellRenderer {&&& public MyCellRenderer() {&&& &&& setOpaque(true);&&& }&&& public Component getListCellRendererComponent(JList list,&&& Object value,&&& int index,&&& boolean isSelected,&&& boolean cellHasFocus) {&&& &&& FolderNode node = (FolderNode)&&& &&& setIcon(node.getIcon());&&& &&& setText(value.toString());&&& &&& setBackground(isSelected ? Color.BLUE.darker().darker() : Color.WHITE);&&& &&& setForeground(isSelected ? Color.WHITE : Color.BLACK);&&& &&&&&& }}---------3-----这部分是程序的入口/***&*/package com.test.fe.import java.awt.BorderLimport java.awt.Dimport java.awt.Timport javax.swing.JFimport javax.swing.JPimport javax.swing.JScrollPimport javax.swing.JSplitPimport javax.swing.border.BevelB/*** @author root&& *&&& */public class JExplorer {&&& public JExplorer() {&&& }&&& /**&&& * @param args&&& */&&& public static void main(String[] args) {&&& &&& // JFrame.setDefaultLookAndFeelDecorated(true);&&& &&& JFrame frame = new JFrame();&&& &&& frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&&& &&& frame.getContentPane().add(new UI(frame));&&& &&& frame.pack();&&& &&&&&&& &&& Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();&&& &&& int left = (screen.width - frame.getWidth()) / 2;&&& &&& int top = (screen.height - frame.getHeight()) / 2;&&& &&& frame.setLocation(left, top);&&& &&& frame.setVisible(true);&&& }}class UI extends JPanel {&&& // implements I_menuHandler{&&& static final long serialVersionUID = 0l;&&& static int LEFT_WIDTH = 200;&&& static int RIGHT_WIDTH = 300;&&& static int WINDOW_HEIGHT = 300;&&&&&&& JFrame frame =&&& public UI(JFrame frame) {&&& &&& // EmptyBorder eb = new EmptyBorder(1,1,1,1);&&& &&& this.frame =&&& &&& setPreferredSize(new Dimension(800, 600));&&& &&& setBorder(new BevelBorder(BevelBorder.LOWERED));&&& &&& setLayout(new BorderLayout());&&& &&& FileList list = new FileList();&&& &&& FileTree tree = new FileTree(list);&&& &&& tree.setDoubleBuffered(true);&&& &&& list.setDoubleBuffered(true);&&& &&& JScrollPane treeView = new JScrollPane(tree);&&& &&& treeView.setPreferredSize(new Dimension(LEFT_WIDTH, WINDOW_HEIGHT));&&& &&& JScrollPane listView = new JScrollPane(list);&&& &&& listView.setPreferredSize(new Dimension(RIGHT_WIDTH, WINDOW_HEIGHT));&&& &&& JSplitPane pane =&&& new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treeView,&&& listView);&&& &&& pane.setDividerLocation(300);&&& &&& pane.setDividerSize(4);&&& &&& // pane.setDoubleBuffered(true);&&& &&& add(pane);&&& }}这是我转自比较好的资料,希望对大家有所帮助。
阅读(2361)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_095070',
blogTitle:'使用Java Swing技术实现一个资源管理器窗口',
blogAbstract:'这篇文章主要实现一个资源管理器,实现主要分为三部分,第一部分实现左侧的文件树,第二部分实现右侧的文件列表,最后一部分是程序的入口。--------------1',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:2,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}java中如何调用CMD命令 Java基础人员请关注。
java中如何调用CMD命令 Java基础人员请关注。
发布时间: 7:02:47
编辑:www.fx114.net
本篇文章主要介绍了"java中如何调用CMD命令 Java基础人员请关注。",主要涉及到java中如何调用CMD命令 Java基础人员请关注。方面的内容,对于java中如何调用CMD命令 Java基础人员请关注。感兴趣的同学可以参考一下。
java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。
cmd /c dir 是执行完dir命令后关闭命令窗口。
cmd /k dir 是执行完dir命令后不关闭命令窗口。
cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。
cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。
可以用cmd /?查看帮助信息。
★CMD命令★
1. gpedit.msc-----组策略
2. sndrec32-------录音机
3. Nslookup-------IP地址侦测器
4. explorer-------打开资源管理器
5. logoff---------注销命令
6. tsshutdn-------60秒倒计时关机命令
7. lusrmgr.msc----本机用户和组
8. services.msc---本地服务设置
9. oobe/msoobe /a----检查XP是否激活
10. notepad--------打开记事本
11. cleanmgr-------垃圾整理
12. net start messenger----开始信使服务
13. compmgmt.msc---计算机管理
14. net stop messenger-----停止信使服务
15. conf-----------启动netmeeting
16. dvdplay--------DVD播放器
17. charmap--------启动字符映射表
18. diskmgmt.msc---磁盘管理实用程序
19. calc-----------启动计算器
20. dfrg.msc-------磁盘碎片整理程序
21. chkdsk.exe-----Chkdsk磁盘检查
22. devmgmt.msc--- 设备管理器
23. regsvr32 /u *.dll----停止dll文件运行
24. drwtsn32------ 系统医生
25. rononce -p ----15秒关机
26. dxdiag---------检查DirectX信息
27. regedt32-------注册表编辑器
28. Msconfig.exe---系统配置实用程序
29. rsop.msc-------组策略结果集
30. mem.exe--------显示内存使用情况
31. regedit.exe----注册表
32. winchat--------XP自带局域网聊天
33. progman--------程序管理器
34. winmsd---------系统信息
35. perfmon.msc----计算机性能监测程序&
36. winver---------检查Windows版本
37. sfc /scannow-----扫描错误并复原
38. taskmgr-----任务管理器(2000/xp/2003
39. winver---------检查Windows版本
40. wmimgmt.msc----打开windows管理体系结构(WMI)
41. wupdmgr--------windows更新程序
42. wscript--------windows脚本宿主设置
43. write----------写字板
44. winmsd---------系统信息
45. wiaacmgr-------扫描仪和照相机向导
46. winchat--------XP自带局域网聊天
47. mem.exe--------显示内存使用情况
48. Msconfig.exe---系统配置实用程序
49. mplayer2-------简易widnows media player
50. mspaint--------画图板
51. mstsc----------远程桌面连接
52. mplayer2-------媒体播放机
53. magnify--------放大镜实用程序
54. mmc------------打开控制台
55. mobsync--------同步命令
56. dxdiag---------检查DirectX信息
57. drwtsn32------ 系统医生
58. devmgmt.msc--- 设备管理器
59. dfrg.msc-------磁盘碎片整理程序
60. diskmgmt.msc---磁盘管理实用程序
61. dcomcnfg-------打开系统组件服务
62. ddeshare-------打开DDE共享设置
63. dvdplay--------DVD播放器
64. net stop messenger-----停止信使服务
65. net start messenger----开始信使服务
66. notepad--------打开记事本
67. nslookup-------网络管理的工具向导
68. ntbackup-------系统备份和还原
69. narrator-------屏幕“讲述人”
70. ntmsmgr.msc----移动存储管理器
71. ntmsoprq.msc---移动存储管理员操作请求
72. netstat -an----(TC)命令检查接口
73. syncapp--------创建一个公文包
74. sysedit--------系统配置编辑器
75. sigverif-------文件签名验证程序
76. sndrec32-------录音机
77. shrpubw--------创建共享文件夹
78. secpol.msc-----本地安全策略
79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
80. services.msc---本地服务设置
81. Sndvol32-------音量控制程序
82. sfc.exe--------系统文件检查器
83. sfc /scannow---windows文件保护
84. tsshutdn-------60秒倒计时关机命令&
84. tsshutdn-------60秒倒计时关机命令
85. tourstart------xp简介(安装完成后出现的漫游xp程序)
86. taskmgr--------任务管理器
87. eventvwr-------事件查看器
88. eudcedit-------造字程序
89. explorer-------打开资源管理器
90. packager-------对象包装程序
91. perfmon.msc----计算机性能监测程序
92. progman--------程序管理器
93. regedit.exe----注册表
94. rsop.msc-------组策略结果集
95. regedt32-------注册表编辑器
96. rononce -p ----15秒关机
97. regsvr32 /u *.dll----停止dll文件运行
98. regsvr32 /u zipfldr.dll------取消ZIP支持
99. cmd.exe--------CMD命令提示符
100. chkdsk.exe-----Chkdsk磁盘检查
101. certmgr.msc----证书管理实用程序
102. calc-----------启动计算器
103. charmap--------启动字符映射表
104. cliconfg-------SQL SERVER 客户端网络实用程序
105. Clipbrd--------剪贴板查看器
106. conf-----------启动netmeeting
107. compmgmt.msc---计算机管理
108. cleanmgr-------垃圾整理
109. ciadv.msc------索引服务程序
110. osk------------打开屏幕键盘
111. odbcad32-------ODBC数据源管理器
112. oobe/msoobe /a----检查XP是否激活
113. lusrmgr.msc----本机用户和组
114. logoff---------注销命令
115. iexpress-------木马捆绑工具,系统自带
116. Nslookup-------IP地址侦测器
117. fsmgmt.msc-----共享文件夹管理器
118. utilman--------辅助工具管理器
119. gpedit.msc-----组策略
120. explorer-------打开资源管理器
版权声明:本文为博主原创文章,未经博主允许不得转载。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:2012年3月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 qt调用资源管理器 的文章

 

随机推荐