2015年計算機二級考試JAVA綜合應(yīng)用題

字號:

四、綜合應(yīng)用題(共18分)
    本題中,主窗口中有兩個下拉菜單,一個控制繪制圖形的顏色,另一個控制繪制的圖形,在畫板中單擊鼠標(biāo),則以單擊的位置為左上角、以選定的顏色繪制選定的圖形。
    import java.a(chǎn)wt.*;
    import java.a(chǎn)wt.event.*;
    class java3 extends Frame {
    String[]figureNames={"圓形","橢圓形","正
    方形","長方形");
    String[]colorNames={"紅色","綠色","藍
    色","黃色"};
    Color[]colorValues={Color.red,Color.green,
    Color.blue,Color.yellow);
    Choice chFigure=new Choice();
    Choice chColor=new Choice();
    int curX,curY;
    java3(){
    super("java3");
    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    System.exit(O);
    }
    });
    Panel P=new Panel(new GridLayout(1,O));
    for(int i=0;i  ehFigure.a(chǎn)ddhem(figureNames[i]);
    }
    for(int i=0;i  chColor.a(chǎn)ddhem(eolorNames[i]);
    }
    P.a(chǎn)dd(chColor);
    P.a(chǎn)dd(chFigure);
    add(p,BorderLayout.NORTH);
    addMouseListener(this);
    setSize(300,300);
    show();
    }
    public void update(Graphics g){
    g.getColor(colorValues[chColor,getSelectedIndex
    ()]);
    switch(chFigure.getSelectedlndex()){
    case 0;
    g.fillOval(curX,curY,30,30);
    break;
    case l:
    g.fillOval(curX,curY,30,50);
    break;
    case 2:
    g.fillRect(curX,curY,30,30);
    break;
    case 3:
    g.fillRect(curX,curY,30,50);
    break;
    }
    }
    class MouseEventListener implements MouseAda-
    pter{
    public void mousePressed(MouseEvent evt){
    curX=evt.getX();
    curY=evt.getY();
    repaint();
    }
    }
    static public void main(String[]args){
    new java3();
    }
    )
    四、綜合應(yīng)用題
    第1處:addMouseListener(new MouseEventListener())
    第2處:g.setcolor(colorValues[chcolor.getselectedIn-
    dex()])
    第3處:class MouseEventListener extends MouseAda-
    pter
    【解析】第1處是注冊鼠標(biāo)監(jiān)聽器,主要是單擊動作;第2處是設(shè)置Graphics類對象g的顏色通過將從chColor中選中的字符串轉(zhuǎn)換成colorValues類型來實現(xiàn);第3處定義一個MouseEventListener類來繼承MouseAdapter鼠標(biāo)事件適配器。