Java2实用教程(第二版)程序代码——第十四章 Component类的常用方法

  1//例子1
  2import java.applet.*;import java.awt.*;
  3import java.awt.event.*;
  4import javax.swing.JTextArea;
  5public class Example14_1 extends Applet implements ItemListener
  6{  List list  ; 
  7   JTextArea text;
  8   public void init()
  9   {  list=new List(6,false); 
 10     text=new JTextArea(6,15);text.setForeground(Color.blue);
 11     GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
 12     String fontName[]=ge.getAvailableFontFamilyNames();
 13      for(int i=0;i<fontName.length;i++)
 14        {  list.add(fontName[i]);
 15        }

 16      add(list);
 17      Panel p=new Panel();
 18      p.setBackground(Color.pink); 
 19      p.add(text);
 20      add(p);
 21      list.addItemListener(this);
 22   }
 
 23   public void itemStateChanged(ItemEvent e)
 24   {  String name=list.getSelectedItem();
 25      Font f=new Font(name,Font.BOLD,16);
 26      text.setFont(f);
 27      text.setText("\nWelcome 欢迎您");
 28   }

 29}

 30
 31//例子2
 32import java.awt.*;import java.awt.event.*;
 33public class Example14_2 extends java.applet.Applet implements ActionListener
 34{  Button button;
 35   Label label;
 36   public void init()
 37   {  button=new Button("横向走动"); button.setBackground(Color.red);
 38      button.addActionListener(this);
 39      label=new Label("我可以被碰掉",Label.CENTER);
 40      label.setBackground(Color.yellow);
 41      add(button); add(label);
 42   }

 43 public void actionPerformed(ActionEvent e)
 44   {  Rectangle rect=button.getBounds();
 45      if(rect.intersects(label.getBounds()))
 46         {  label.setVisible(false);
 47         }

 48      if(label.isVisible())
 49         {  button.setLocation(rect.x+3,rect.y);
 50         }

 51      else
 52         {  button.setLocation(rect.x,rect.y+3); 
 53            button.setLabel("纵向走动");
 54         }

 55   }

 56}

 57
 58//例子3
 59import java.awt.*;import java.awt.event.*;
 60class MyCanvas extends Canvas 
 61{  int n=-1;
 62   MyCanvas()
 63   {  setSize(150,120);setBackground(Color.pink);
 64   }

 65   public void paint(Graphics g)
 66   {  g.setColor(Color.red);
 67      g.drawString("部分清除时我将消失",10,12);
 68      g.drawString("我们正在学习repaint方法",10,80);
 69   }

 70   public void setN(int n)
 71   {  this.n=n;
 72   }

 73   public void update(Graphics g) 
 74   {  int width=0, height=0;
 75      width=getSize().width;height=getSize().height;
 76      if(n==0)
 77        {  g.clearRect(0,0,width,height);
 78           //paint(g); //如果取消该注释,update的功能就与父类相同。
 79        }

 80      else if(n==1)
 81        {  g.clearRect(2,2,width,40);
 82        }

 83   }

 84}

 85public class Example14_3 extends java.applet.Applet implements ActionListener
 86{  Button b1,b2;MyCanvas canvas;
 87   public void init()
 88   {  canvas=new MyCanvas();
 89      b1=new Button("全部清除"); b1.addActionListener(this);
 90      b2=new Button("部分清除"); b2.addActionListener(this);
 91      add(b1); add(b2); add(canvas);
 92   }
 
 93   public void actionPerformed(ActionEvent e)
 94   {  if(e.getSource()==b1)
 95       {  canvas.setN(0);canvas.repaint();
 96       }
  
 97      if(e.getSource()==b2)
 98       {  canvas.setN(1);canvas.repaint();
 99       }
  
100   }

101}

102
posted @ 2005-05-27 09:09  Rookie.Zhang  阅读(701)  评论(0编辑  收藏  举报