希望能帮助你
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);// 程序退出
}
}
}
我运行了一下,有异常!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关闭了,程序就彻底停了
}
}
}
路过,太难了,玩了一下搞晕了