四、綜合應(yīng)用題(共18分)
本題中,主窗口中有兩個(gè)下拉菜單,一個(gè)控制繪制圖形的顏色,另一個(gè)控制繪制的圖形,在畫板中單擊鼠標(biāo),則以單擊的位置為左上角、以選定的顏色繪制選定的圖形。
import java.awt.*;
import java.awt.event.*;
class java3 extends Frame {
String[]figureNames={"圓形","橢圓形","正
方形","長(zhǎng)方形");
String[]colorNames={"紅色","綠色","藍(lán)
色","黃色"};
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.addhem(figureNames[i]);
}
for(int i=0;i chColor.addhem(eolorNames[i]);
}
P.add(chColor);
P.add(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();
}
)
本題中,主窗口中有兩個(gè)下拉菜單,一個(gè)控制繪制圖形的顏色,另一個(gè)控制繪制的圖形,在畫板中單擊鼠標(biāo),則以單擊的位置為左上角、以選定的顏色繪制選定的圖形。
import java.awt.*;
import java.awt.event.*;
class java3 extends Frame {
String[]figureNames={"圓形","橢圓形","正
方形","長(zhǎng)方形");
String[]colorNames={"紅色","綠色","藍(lán)
色","黃色"};
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.addhem(figureNames[i]);
}
for(int i=0;i chColor.addhem(eolorNames[i]);
}
P.add(chColor);
P.add(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();
}
)