[试题]

下面程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格JTable的实例显示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行或删行。

import java.awt.*;

import javax.swing.*;

import java.util. Date;

import javax.swing.table.*;

import java.applet.*;

import java.io.*;

public class Example3_10 extends JApplet, JFrame

{

public void init()

{

F.ileModel fm = new FileModel();

JTable jt = new JTable();

jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

jt.setColumnSelectionAllowed(true);

JScrollPane jsp = new JScrollPane(jt);

getContentPane().add(jsp, BorderLayout.CENTER);

}

public static void main(String args[])

{

E.xample3_10 ft = new Example3_10();

ft.init();

JFrame. f = new JFrame();

f.setDefaultCloseOperation(JFrame.EXIT ON CLOSE);

f.getContentPane() .add(ft.getContentPane());

f.setSize (300, 400);

f.show();

}

}

class FileModel extends AbstractTableModel

{

String[] columnName = new String[] {

"文件名", "大小", "最后修改时间"

}

Object[] [] data;

public FileModel() { this("."); }

public FileModel(String dir)

{

F.ile file = new File(dir);

String files[] = file.list();

data = new Object [files.length] [columnName.length];

for (int i=0; i < files.length; i++)

{

F.ile tmp = new File (files[i]);

data[i] [0] = tmp.getName();

data[i] [1] = new Long(tmp.length());

data[i] [2] = new Date(tmp.lastModified() );

}

}

public int getColumnNumber()

{

return columnName.length;

}

public int getRowCount()

{

return data. length;

}

public String getColumnName(int col)

{

return columnName[col];

}

public Object getValueAt(int row, int col)

{

return data[row] [col];

}

public Class getColumnClass(int c)

{

return getValueAt (0, c) .getClass();

}

}

参考答案与解析:

相关试题

将当前盘当前目录下的ASCII文件ASD的内容显示在屏幕上,可键入()命令或()

[填空题] 将当前盘当前目录下的ASCII文件ASD的内容显示在屏幕上,可键入()命令或()。

  • 查看答案
  • 若要将当前盘目录下的文件

    [单选题]若要将当前盘目录下的文件A.TXT连接在文件B.TXT后面,应使用的命令为( )。A.COPY A.TXT>>B.TXTB.MOVE A.TXT>>B.TXTC.PATH A.TXT>>B.TXTD.TYPE A.TXT>>B.TXT

  • 查看答案
  • 访问当前目录下文件()路径。

    [单选题]访问当前目录下文件()路径。A .可以省略其B .一定要标明其C .无所谓其D . D.不能标明其

  • 查看答案
  • DOS命令中,列出当前目录下所有的文件并分屏显示的命令是()

    [单选题]DOS命令中,列出当前目录下所有的文件并分屏显示的命令是()A .dir/s/pB .dir/w/pC .dir/a/pD .dir/s/a

  • 查看答案
  • 查看当前目录下文件,使用命令()

    [填空题] 查看当前目录下文件,使用命令()

  • 查看答案
  • 能将屏幕上显示的所有信息存入文本文件的命令是()。

    [单选题]能将屏幕上显示的所有信息存入文本文件的命令是()。A . SET ALTERNATE TO T1B . SET ALTERNATE ONC . SET HISTORY OND . SET DOHISTORY ON

  • 查看答案
  • 在当前目录下用DEL*.*,可删除当前目录中的全部文件,包括子目录。

    [判断题] 在当前目录下用DEL*.*,可删除当前目录中的全部文件,包括子目录。A . 正确B . 错误

  • 查看答案
  • 下面程序的预设功能是:将文本文件readme 中的内容读出,显示在屏幕上。 in

    [主观题]下面程序的预设功能是:将文本文件readme 中的内容读出,显示在屏幕上。 include using n下面程序的预设功能是:将文本文件readme 中的内容读出,显示在屏幕上。include <fstream>using namespace std;int main (){char buf[ 80 ];ifstream file( "readme");while (_______________){file.getline( buf, 80 );cout<<buf<<end1;}me.

  • 查看答案
  • DOC0/VER目录下哪个文件记录的是OMP的版本配置信息().

    [单选题]DOC0/VER目录下哪个文件记录的是OMP的版本配置信息().A . bootcfg.iniB . ompboot.infC . ompcfg.infD . cpu.ini

  • 查看答案
  • ( 16 )要建立文件流并打开当前目录下的文件 file.dat 用于输入,下列

    [单选题]( 16 )要建立文件流并打开当前目录下的文件 file.dat 用于输入,下列语句中错误的是A. ) ifstream fin=ifstream.open ( "file.dat" ) ;B. ) ifstream*fir.=new ifstream ( "file.dat" ) ;C. ) ifstream fin; fin.open ( "file.dat" ) ;D. ) ifstream *fin=new ifstream ( ) ; fin 一 >open ( "

  • 查看答案
  • 下面程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格JTable的