当前位置: 东星资源网 > 文档大全 > 说说大全 > 正文

计算机二级考试office【2017年计算机二级考试JAVA押密试题及答案4】

时间:2018-12-03 来源:东星资源网 本文已影响 手机版

计算机等级网权威发布2017年计算机二级考试JAVA押密试题及答案4,更多2017年计算机二级考试JAVA押密试题及答案4相关信息请访问计算机等级考试网。


  四、综合应用题(共18分)
  本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。
  import java.awt.*;
  import java.awt.datatransfer.*;
  import java.awt.dnd.*;
  import java.awt.event.*;
  import java.io.*;
  import java.util.*;
  import javax.swing.*;
  public class java3
  {
  public static void main(String[]args)
  {
  JFrame frame=new DragSourceFrame();
  frame.setDefauhCloseOperation(JFrame.EXIT_
  0N_CLoSE);
  frame.show();
  }
  }
  class DragSoureeFrame extends JFrame
  {
  public DragSourceFrame()
  {
  setTitle("java3");
  setSize(WlDTH,HElGHT);
  Container contentPane=getContentPane();
  File f=new File(".").getabsoluteFile();
  File[]files=f.listFiles();
  model=new DefaultListModel();
  for(int i=0;i  try
  {
  model.addElement(files[i].getCanonicalFile());
  }
  catch(IOException exception)
  {
  JOptionPane.showMessageDialog(this,exeep-
  tion);
  }
  fileList=new JList(model);
  contentPane.add(new JScrollPane(fileList),
  BorderLayout.CENTER);
  contentPane.add(new JLabel("从列表中拖曳出文
  件"),
  BorderLayout.NoRTH);
  DragSource dragSource=DragSource.getDefauh-
  DragSource();
  dragSource.createDefaultDragGestureRecognizer
  (fileList,
  DnDConstants. ACTION_COPY_0R_
  MOVE,new
  DragGestureListener()
  {
  public void dragGestureRecognized(
  DragGestureEvent event)
  {
  draggedValues=fileList.getSelectedValues();
  Transferable transferable
  =new FiteListTransferable(draggedValues);
  evenr.startDrag(null,transferable,
  new FileListDragSourceListener());
  }
  });
  }
  private class FileListDragSourceListener imple-
  ments DragSourceAdapter
  {
  public void dragDropEnd(DragSourceDropEvent e-
  vent)
  {
  if(event.getDropSuccess())
  {
  int action=event.getDropAction();
  if(action= =DnDConstants.ACTl0N MOVE)
  {
  for(int i=0;i  model.removeElement(draggedValues[i]);
  }
  }
  }
  }
  private JList fileList;
  private DefauhListModel model;
  private Object[]draggedValues;
  private static final int WIDTH=300;
  private static final int HEIGHT=200;
  }
  class FileListTransferable implements Transferable
  {
  public FileListTransferable(Object[]files)
  {
  fileList=new ArrayList(Arrays.asList(files));
  }
  public DataFlavor[]getTransferDataFlavors()
  {
  return flavors;
  public boolean isDataFlavorSupported(DataFlavor
  flavor)
  {
  return Arrays. asList(flavors), contains(flavor) ;
  }
  public Object getTransferData(DataFlavor flavor)
  throws UnsupportedFlavorException
  if(flavor, equals(DataFlavor, javaFileListFlavor) )
  return fileList;
  else if(flavor, equals(DataFlavor, stringFlavor))
  return fileList, toString() ;
  else
  throw new UnsupportedFlavorException(flavor) ;
  }
  private static DataFlavor[] flavors =
  {
  DataFlavor. j avaFileListFlavor,
  DataFlavor. stringFlavor
  };
  private java. util. List fileList;

  四、综合应用题
  第1处:File f—new File(".").getAbsoluteFile()
  第2处:int i=0;i  第3处:private class FileListDragSoureeListener ex-
  tends DragSourceAdapter
  【解析】第1处是通过绝对路径创建一个File对象f;第2处是files中f文件所在目录下的所有文件名列表,此处就是遍历这些文件名;第3处是定义了一个FileListDragSoureeListener类继承用于接收拖动源事件的抽象适配器类 DragSoureeAdapter。

标签:2017年计算机二级考试JAVA押密试题及答案4 2017年计算机二级考试 计算机二级考试java