以下一段java程序,看不懂,求加下注释,讲解下,同时给下运行结果(原题是那样要求的)

importjava.io.*;importjava.awt.*;importjava.awt.event.*;publicclassCh71extendsFrame{i... import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Ch71 extends Frame {
int n;
String dirname="/jdk1.4";
File file=new File(dirname);
String[] flist=new String[100];
Choice listFile=new Choice();
TextField tf=new TextField();
public Ch71(){
setLayout(new BorderLayout(10,10));
flist=file.list();
for (n=0;n<flist.length;n++) {
listFile.addItem(flist[n]);
}
add("North",listFile);
add("South",tf);
setSize(250,200);
setVisible(true);
listFile.addItemListener(new koListener());
addWindowListener(new koWindowListener());
}
public static void main(String args[]) {
new Ch71();
}
class koListener implements ItemListener{
public void itemStateChanged(ItemEvent e) {
String ko=(String)e.getItem();
for (n=0;n<flist.length;n++)
if (ko==flist[n]){
File f=new File(file+System.getProperty("file.separator")+ko);
if (f.isFile()==true)
tf.setText(ko+"是个文件!");
if (f.isDirectory()==true)
tf.setText(ko+"是个目录!");
}
}
}
class koWindowListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}
}
仔细读下面的JAVA语言源程序,自己给出程序的运行结果,理解File类的使用。
展开
 我来答
zakaz168
推荐于2016-11-22 · TA获得超过345个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:228万
展开全部

希望能帮助你



import java.awt.BorderLayout;
import java.awt.Choice;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;

public class Ch71 extends Frame {

    int n;// 循环时使用的变量
    String dirname = "c:/";// 文件遍历目录路径
    File file = new File(dirname);// 打开文件
    String[] flist = new String[100];// 定义数组
    Choice listFile = new Choice();// 定义选择框
    TextField tf = new TextField();  // 定义文本框

    public Ch71() {
        setLayout(new BorderLayout(10, 10));// 设置布局方式
        flist = file.list();//获取指定目录下面的文件和文件夹
        for (n = 0; n < flist.length; n++) {//遍历文件
            listFile.addItem(flist[n]);//选择框添加单元
        }
        add("North", listFile);// 把选择框放置窗口北方
        add("South", tf);//把文本框放置在窗口南方
        setSize(250, 200);//设置窗口大小
        setVisible(true);// 设置窗口可见
        listFile.addItemListener(new koListener());// 选择框添加选择监听事件
        addWindowListener(new koWindowListener());// 添加窗口事件
    }

    public static void main(String args[]) {
        new Ch71();// 启动小程序
    }

    class koListener implements ItemListener {// 选择框监听类

        public void itemStateChanged(ItemEvent e) {// 选中状态发生变化
            String ko = (String) e.getItem();// 获取选择框选中文本
            for (n = 0; n < flist.length; n++)
                if (ko == flist[n]) {// 判断文件是否是文件还是目录
                    File f = new File(file + System.getProperty("file.separator") + ko);
                    if (f.isFile() == true) tf.setText(ko + "是个文件!");
                    if (f.isDirectory() == true) tf.setText(ko + "是个目录!");
                }
        }
    }

    class koWindowListener extends WindowAdapter {// 窗口监听类

        public void windowClosing(WindowEvent e) {// 窗口即将关闭时
            dispose();// 窗口隐藏
            System.exit(0);// 程序退出
        }
    }
}
testhdg
2013-06-13 · 超过19用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:62.4万
展开全部
我运行了一下,有异常!java.lang.NullPointerException
我是JAVA图形界面的内容,我工作近一年了,没有用到,我的同学朋友也没有谁用,我的建议是,不要研究它,否则英雄无用武之地,这些代码,我全部能看得懂。
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Ch71 extends Frame {
int n;
String dirname = "/jdk1.4";//这应该是路径,你写不对了
File file = new File(dirname);
String[] flist = new String[100];
Choice listFile = new Choice();//选择的组件
TextField tf = new TextField();//文本框
public Ch71() {
setLayout(new BorderLayout(10, 10));//布局管理器
flist = file.list();//这样会列出所有的文件及文件夹
for (n = 0; n < flist.length; n++) {//这行报错了,主要是遍历添加到选项中
listFile.addItem(flist[n]);
}
add("North", listFile);//父类的方法
add("South", tf);
setSize(250, 200);
setVisible(true);
listFile.addItemListener(new koListener());//注册监听
addWindowListener(new koWindowListener());//注册监听
}
public static void main(String args[]) {
new Ch71();
}
class koListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {//当选中某项后,触发
String ko = (String) e.getItem();
for (n = 0; n < flist.length; n++)//遍历所有的选项
if (ko == flist[n]) {
File f = new File(file
+ System.getProperty("file.separator") + ko);//类加载,找这个file.separator文件
if (f.isFile() == true)
tf.setText(ko + "是个文件!");
if (f.isDirectory() == true)
tf.setText(ko + "是个目录!");
}
}
}
class koWindowListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {//关闭,就像浏览器的关闭那个叉
dispose();
System.exit(0);//把JVM关闭了,程序就彻底停了
}
}
}
追问
这个是一个学校的实验报告,我都无语了,什么玩意啊,就是要求写出程序的结果
追答
有高手回答了,这就是学校坑人的地方
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-13
展开全部
路过,太难了,玩了一下搞晕了
追问
我感觉出题的就有问题,这个代码都有问题,还问运行结果。在eclipse我都晕了,什么结果都没有
追答

有结果的

是个异常

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式