如何实现浏览文件系统的功能 http://expert.csdn.net/Expert/TopicView1.asp?id=1546015 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JFileChooser其实也可以改造为资源管理器 那个程序只能显示某个盘的文件目录树,要想显示所有分区的文件系统怎么办?linux的文件系统如何显示? 在下面的程序的基础上加一个调用函数就可以了import java.awt.*;import java.awt.event.*;import javax.swing.*;import com.borland.jbcl.layout.*;import java.io.*;import javax.swing.tree.*;import javax.swing.event.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class BrowerFrame extends JFrame { private JPanel contentPane; private XYLayout xYLayout1 = new XYLayout(); private JScrollPane jScrollPane1 = new JScrollPane(); private JList jList1 = new JList(); private JLabel jLabel1 = new JLabel(); private JLabel jLabel2 = new JLabel(); File file; DefaultMutableTreeNode top=new DefaultMutableTreeNode("我的电脑"); private JTree jTree1 = new JTree(top); //Construct the frame public BrowerFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(BrowerFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(xYLayout1); this.setSize(new Dimension(454, 351)); this.setTitle("资源管理器"); jLabel1.setFont(new java.awt.Font("Dialog", 1, 18)); jLabel1.setText("资源管理器"); jLabel2.setFont(new java.awt.Font("Dialog", 1, 18)); jLabel2.setText("属性"); jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); jScrollPane1.setViewportBorder(BorderFactory.createLoweredBevelBorder()); jScrollPane1.setAutoscrolls(true); jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { jTree1_valueChanged(e); } }); contentPane.add(jLabel1, new XYConstraints(20, 14, 118, 29)); contentPane.add(jLabel2, new XYConstraints(238, 14, 118, 29)); contentPane.add(jList1, new XYConstraints(238, 55, 198, 254)); contentPane.add(jScrollPane1, new XYConstraints(31, 59, 198, 254)); jScrollPane1.getViewport().add(jTree1, null); this.createTree(); } public void createTree(){ DefaultMutableTreeNode node=null; File files[]; files=file.listRoots(); for(int i=0;i<files.length;i++){ node=new DefaultMutableTreeNode(files[i].getPath()); top.add(node); } } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } void jTree1_valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node1=(DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent(); DefaultMutableTreeNode node2=null; DefaultListModel lm=new DefaultListModel(); String lists[]; try{ if(node1.toString()!="我的电脑"){ file=new File(this.Convert(jTree1.getSelectionPath().toString())); lm.addElement("名称:"+node1.toString()); if(file.isDirectory()){ node1.removeAllChildren(); lists=file.list(); for(int i=0;i<lists.length;i++){ node2=new DefaultMutableTreeNode(lists[i]); node1.add(node2); } lm.addElement("类型: 目录"); } else{ lm.addElement("类型: 文件"); } lm.addElement("是否可读: "+file.canRead()); lm.addElement("是否可写: "+file.canWrite()); lm.addElement("大小: "+String.valueOf(file.length())); jList1.setModel(lm); } } catch(Exception ex){ } } private String Convert(String path){ String paths=new String(); int pos1,pos2; pos1=path.indexOf(","); pos2=pos1; while(pos2>0){ pos2=path.indexOf(",",pos1+1); if(pos2==-1){ paths=paths+path.substring(pos1+2,path.length()-1); } else{ paths=paths+path.substring(pos1+2,pos2)+"\\"; } pos1=pos2; } return paths; }} java 求佘计算 大家讨论一下中文变量名的优劣 JAVA多线程 学习一个例子的时候遇到一个问题,不知道如何解决,请高手帮忙 这个程序错在哪??? 在线等待,SWING问题 关于包的一个简单问题 如何用JDK编译并运行一个工程项目程序??? 本人刚学JAVA高分请教问题! static 怎么就是连不上!! 请教高手,JAVA中如何修改OS的系统时钟,有效一定给分!
linux的文件系统如何显示?
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.io.*;
import javax.swing.tree.*;
import javax.swing.event.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class BrowerFrame extends JFrame {
private JPanel contentPane;
private XYLayout xYLayout1 = new XYLayout();
private JScrollPane jScrollPane1 = new JScrollPane();
private JList jList1 = new JList();
private JLabel jLabel1 = new JLabel();
private JLabel jLabel2 = new JLabel(); File file;
DefaultMutableTreeNode top=new DefaultMutableTreeNode("我的电脑");
private JTree jTree1 = new JTree(top);
//Construct the frame
public BrowerFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(BrowerFrame.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(454, 351));
this.setTitle("资源管理器");
jLabel1.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel1.setText("资源管理器");
jLabel2.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel2.setText("属性");
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane1.setViewportBorder(BorderFactory.createLoweredBevelBorder());
jScrollPane1.setAutoscrolls(true);
jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
jTree1_valueChanged(e);
}
});
contentPane.add(jLabel1, new XYConstraints(20, 14, 118, 29));
contentPane.add(jLabel2, new XYConstraints(238, 14, 118, 29));
contentPane.add(jList1, new XYConstraints(238, 55, 198, 254));
contentPane.add(jScrollPane1, new XYConstraints(31, 59, 198, 254));
jScrollPane1.getViewport().add(jTree1, null);
this.createTree();
}
public void createTree(){
DefaultMutableTreeNode node=null;
File files[];
files=file.listRoots();
for(int i=0;i<files.length;i++){
node=new DefaultMutableTreeNode(files[i].getPath());
top.add(node);
}
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
} void jTree1_valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node1=(DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();
DefaultMutableTreeNode node2=null;
DefaultListModel lm=new DefaultListModel();
String lists[];
try{
if(node1.toString()!="我的电脑"){
file=new File(this.Convert(jTree1.getSelectionPath().toString()));
lm.addElement("名称:"+node1.toString());
if(file.isDirectory()){
node1.removeAllChildren();
lists=file.list();
for(int i=0;i<lists.length;i++){
node2=new DefaultMutableTreeNode(lists[i]);
node1.add(node2);
}
lm.addElement("类型: 目录");
}
else{
lm.addElement("类型: 文件");
}
lm.addElement("是否可读: "+file.canRead());
lm.addElement("是否可写: "+file.canWrite());
lm.addElement("大小: "+String.valueOf(file.length()));
jList1.setModel(lm);
}
}
catch(Exception ex){ } }
private String Convert(String path){
String paths=new String();
int pos1,pos2;
pos1=path.indexOf(",");
pos2=pos1;
while(pos2>0){
pos2=path.indexOf(",",pos1+1);
if(pos2==-1){
paths=paths+path.substring(pos1+2,path.length()-1);
}
else{
paths=paths+path.substring(pos1+2,pos2)+"\\";
}
pos1=pos2;
}
return paths;
}
}