|
controls.setEnabled(true); //激活controls } public void stop(){ controls.setEnabled(false); } public void windowActivated(WindowEvent e){ } //重写WindowListener的方法 public void windowClosed(WindowEvent e){ } //重写WindowListener的方法 public void windowClosing(WindowEvent e){ //重写WindowListener的方法 System.exit(0); }
public void windowDeactivated(WindowEvent e){} //重写WindowListener的方法 public void windowDeiconified(WindowEvent e){} //重写WindowListener的方法 public void windowIconified(WindowEvent e){ } //重写WindowListener的方法 public void windowOpend(WindowEvent e){ } //重写WindowListener的方法
public static void main(String args[]) { Frame f=new Frame("ArcTest"); //构造Frame ArcTest arcTest=new ArcTest(); //构造arcTest atcTest.init(); arcTest.start(); f.add("Center",arcTest); f.setSize(300,300); f.show();
f.addWindowListener(arcTest); } } class ArcCanvas extends Canvas{ //类ArcCanvas int startAngle=0; int endAngle=45; boolean filled=false; Font font; public void paint(Graphics g){ //paint方法,该方法的作用是在Canvas上画图 Rectangle r=getBounds(); int hlines=r.height/10; int vlines=r.width/10; g.setColor(Color.pink);
for(int i=1;i<=hlines;i++) { g.drawLine(0,i*10,r.width,i*10); } for(int i=1;i<=vlines;i++) { g.drawLine(i*10,0,i*10,r.height); } g.setColor(Color.red); if(filled) { g.fillArc(0,0,r.width-1,r.height-1,startAngle,endAngle); } else { g.drawArc(0,0,r.width-1,r.height-1,startAngle, endAngle); }
g.setColor(Color.black); g.setFont(font); g.drawLine(0,r.height/2,r.width,r.height/2); g.drawLine(r.width/2,0,r.width/2,r.height); g.drawLine(0,,0,r.width,r.height); g.drawLine(r.width,0,0,r.height); int sx=10; int sy=r.height-28; g.drawString("S="+startAngle,sx,sy); g.drawString("E="+ednAngle,sx,sy+14); }
public void redraw(boolean filled,int start,int end){ //重画方法 this.filled=filled; this.startAngle=start; this.endAngle=end; repaint(); //通过调用repaint()方法,从而最终调用paint方法完成重画 } }
class ArcControls extends Panel implements ActionListener { //ArcControls类 TextFiled s; TextFiled e; ArcCanvas canvas;
public ArcControls(ArcCanvas canvas) { Button b=null; this.canvas=canvas; add(s=new TextField("0",4)); add(e=new TextField("45",4)); b=new Button("Fill"); b.addActionListener(this); 本新闻共 6页,当前在第 4页 1 2 3 4 5 6 |