网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:JAVA教程 第六讲 Java的线程和Java Applet 下一篇:JAVA教程 第七讲 Swing用户界面设计(一)
JAVA教程 第六讲 Java的线程和Java Applet(二)

来源: 作者: 添加日期:2005-9-4 19:19:56 点击次数:

     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  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |