2016年計(jì)算機(jī)二級(jí)考試JAVA考前預(yù)測應(yīng)用試題

字號(hào):

三、簡單應(yīng)用題(共24分)
    本題中,主窗口有一個(gè)按鈕“顯示Dial09”,單擊該按鈕后顯示一個(gè)對話框,對話框的標(biāo)題是“Dial09”,其上有一個(gè)文字標(biāo)簽“歡迎學(xué)習(xí)Java.”,此時(shí)仍允許對原來窗口進(jìn)行操作,當(dāng)關(guān)閉新生成的對話框時(shí)退出程序。
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class java2 extends Frame implements ActionLis-
    tener{
    public static void main(String args[]){
    java2 f=new java2("java2");
    Panel pan=new Panel();
    f.init();
    }
    public java2(String str){
    super(str);
    }
    public void init(){
    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    System.exit(0);
    }
    });
    setSize(200,200);
    setLayout(new FlowLayout());
    but=new Button("顯示Dialog");
    add(but);
    but.addActionListener(this);
    dig=new Dialog(this,"Dialog", );
    dig.setSize(100,50);
    dig.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    ;
    }
    });
    dig.add("Center",new Label("歡迎學(xué)習(xí)Ja-
    va."));
    setVisible(true);
    }
    public void actionPerformed(ActionEvent e){
    dig.setVisible(true);
    }
    private Dialog dig;
    private Button but;
    }
    四、綜合應(yīng)用題(共18分)
    本題的功能是監(jiān)聽鼠標(biāo)的拖曳操作。窗口中有一個(gè)列表框,列表框中列出了當(dāng)前目錄的所有文件,鼠標(biāo)選中一個(gè)或多個(gè)文件后拖曳出窗口,此操作的功能是將拖曳的文件復(fù)制一份在拖曳的目的目錄下。
    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;