试题查看

首页 > 计算机二级考试 > 试题查看
【分析解答题】

本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。import jav

A、awt.*; import jav
A、awt.datatransfer.*; import jav
A、awt.dnD、*; import jav
A、awt.event.*; import jav
A、io.*; import jav
A、util.*; import javax.swing.*; public class java3{public static void main(String[]args){JFrame frame=newDragSourceFrame(); frame.setDefauhCloseOperation(JFrame.EXIT_0N_CLoSE、; frame.show(); }}classDragSoureeFrame extends JFrame{publicDragSourceFrame(){setTitle("java3"); setSize(WlDTH,HElGHT);Container contentPane=getContentPane(); File f=new File(".").getabsoluteFile(); File[]files=f.listFiles(); model=newDefaultListModel(); 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,newDragGestureListener(){public void dragGestureRecognized(DragGestureEvent event){draggedValues=fileList.getSelectedValues(); Transferable transferable=new FiteListTransferable(draggedValues); evenr.startDrag(null,transferable, new FileListDragSourceListener()); }}); }private class FileListDragSourceListener imple-mentsDragSourceAdapter{public void dragDropEndDragSourceDropEvent event){if(event.getDropSuccess()){int action=event.getDropAction(); if(action= =DnDConstants.ACTl0N MOVE、{for(int i=0;i  model.removeElement(draggedValues[i]); }}}}private JList fileList; privateDefauhListModel 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=newArrayListArrays.asList(files)); }publicDataFlavor[]getTransferDataFlavors(){return flavors;public boolean isDataFlavorSupportedDataFlavor flavor){returnArrays. asList(flavors), contains(flavor) ;}public Object getTransferDataDataFlavor flavor)throws UnsupportedFlavorExceptionif(flavor, equalsDataFlavor, javaFileListFlavor) )return fileList;else if(flavor, equalsDataFlavor, stringFlavor))return fileList, toString() ;else throw new UnsupportedFlavorException(flavor) ;}private staticDataFlavor[] flavors ={DataFlavor. j avaFileListFlavor,DataFlavor. stringFlavor};private jav
A、util. List fileList;
查看答案解析

参考答案:

正在加载...

答案解析

正在加载...

根据网考网移动考试中心的统计,该试题:

0%的考友选择了A选项

0%的考友选择了B选项

0%的考友选择了C选项

0%的考友选择了D选项

你可能感兴趣的试题

引起中断的中断源有5种,分别为I/O中断,数据通道中断,时钟中断,程序中断和()下列关于WindowsNT描述不恰当的是()。A.WindowsNT定位在高性能下列的数据传送指令中,错误的操作是()。A.MOVSS:[DX+D1],1000下列叙述中,错误的是()。A.Java中,方法的重载是指多个方法可以共享同一个名下面程序的正确输出是()。publicclassHello{publicstat本题中,主窗口有一个按钮“显示Dial09”,单击该按钮后显示一个对话框,对话框