⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例9.3-9.7.java

📁 医院无线局域网设计方案 医院无线局域网设计方案
💻 JAVA
字号:
//Example 9.3-9.7
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;
class MyLocation
{	
  int x,y;
  public MyLocation(){x=0;y=0;}
  public MyLocation(int i1,int i2){x=i1;y=i2;}
  public int get_x(){ return x; } 
  public int get_y(){ return y; } 
}
class MyPoint extends MyLocation
{
  boolean visible=false;
  Color c=Color.black;
  public MyPoint(){ super(); }
  public MyPoint(int x,int y){ super(x,y); }
  public void show(){ visible=true; }
  public void hide(){ visible=false; }
  public boolean is_visible(){ return visible; }
  public void set_color(Color cc){ c=cc; }
  public Color get_color(){ return c; }
  public void move_to(int endX,int endY){x=endX;y=endY; }
}
class MyCircle extends MyPoint
{
  int radius;
  public MyCircle(){super();radius=0; }
  public MyCircle(int xx,int yy,int r){super(xx,yy);radius=r;}
  public int get_r(){ return radius; }
  public void expand(int delta)
  {
    hide();radius=radius+delta;
    if(radius<0)radius=0;
    show();
  }
  public void contract(int delta){ expand(-delta); }
}
class MyCanvas extends Component
{
  final int MaxPoint=50;
  final int MaxCircle=50;
  private int nCurrentPoint=0,nCurrentCircle=0;
  MyPoint[] pointTable=new MyPoint[MaxPoint];
  MyCircle[] circleTable=new MyCircle[MaxCircle];
  public MyCanvas(){ super();nCurrentPoint=0;nCurrentCircle=0;}
  public void addPoint(MyPoint pt)
  {
    pointTable[nCurrentPoint]=pt;nCurrentPoint++;
  }
  public void addCircle(MyCircle cl)
  {
    circleTable[nCurrentCircle]=cl;nCurrentCircle++;
  } 
  public void paint(Graphics g)
  {
    int i,x,y,r;
    for(i=0;i<nCurrentPoint;i++)
    {
      if(pointTable[i].is_visible())
      {
        g.setColor(pointTable[i].get_color());
        x=pointTable[i].get_x();y=pointTable[i].get_y();
        g.drawLine(x,y,x,y);
      }
    }
    for(i=0;i<nCurrentCircle;i++)
    {
      if(circleTable[i].is_visible())
      {
        g.setColor(circleTable[i].get_color());
        x=circleTable[i].get_x();y=circleTable[i].get_y();
        r=circleTable[i].get_r();
        x=x-r;y=y-r;r=2*r;
        g.drawOval(x,y,r,r);
      }
    }
  } 
}
 
 class tt implements WindowListener
 {
   public static void main(String args[])
   {
     Frame f=new Frame("My Canvas");
     MyCanvas mc=new MyCanvas();
     String sStr="";
     f.add("Center",mc);f.addWindowListener(new tt());
     f.setSize(300,300);f.setVisible(true);
     MyPoint p1=new MyPoint(100,100);
     MyCircle c1=new MyCircle(100,100,30);
     mc.addPoint(p1);mc.addCircle(c1);
     p1.show();c1.show();
     mc.repaint();
     try
     {
       InputStreamReader ir=new InputStreamReader(System.in);
       LineNumberReader inReader=new LineNumberReader(ir);
       System.out.println("Please Input ENTER 3 times");
       sStr=inReader.readLine();
       c1.set_color(Color.blue);c1.move_to(200,50);
       mc.repaint();
       sStr=inReader.readLine();
       c1.set_color(Color.orange);
       c1.expand(30);
       mc.repaint();
       sStr=inReader.readLine();
       c1.set_color(Color.pink);
       c1.contract(40);mc.repaint();
     }
     catch(IOException e)
     {
       System.out.println("Error");System.exit(0);
     }
   }
   public void windowClosing(WindowEvent e)
   {
   	  System.exit(0);
   }
   public void windowActivated(WindowEvent e) { }
   public void windowClosed(WindowEvent e) { }
   public void windowDeactivated(WindowEvent e) { }
   public void windowDeiconified(WindowEvent e) { }
   public void windowIconified(WindowEvent e) { }
   public void windowOpened(WindowEvent e) { }
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -