北大计算机系java讲义--第五章java显示awt(编辑修改稿)内容摘要:

} public void paint(Graphics g) { ()。 (0,0,50,100)。 ()。 (30,0,100,40)。 } } 44 各种构件的应用实例 Canvas import .*。 import .*。 public class canvas_test extends Applet { MyCanvas mycanvas=new MyCanvas()。 public void init() { setLayout(new BorderLayout())。 add(Center,mycanvas)。 add(North,new Button(button1))。 ….。 add(East,new Button(button4))。 } } 45 各种构件的应用实例 Canvas class MyCanvas extends Canvas { public void paint(Graphics g) { ()。 (0,0,50,100)。 ()。 (30,0,100,40)。 } } 46 各种构件的应用实例 Canvas 47 利用输出管理 器按钮和画布 按钮接收 鼠标事件 变换颜色 执行重画 color color color 各种构件的应用实例 Canvas 例 :按动鼠标改变画布的颜色 (CanvasApplet) 有哪些类 ? Canvas, Button, Color。 哪些方法 ? init(), action(),swapColor(),paint() 48 class CanvasApplet extends Applet { MyCanvas mycanvas=new MyCanvas()。 public void init() { setLayout(new BorderLayout())。 Button button = new Button(Color)。 add(North,button)。 add(“Center”,mycanvas)。 resize(200,250)。 } 各种构件的应用实例 Canvas . 49 各种构件的应用实例 Canvas boolean action(Event evt, Object arg) {  if(arg==Color) ()。  return true。 } 50 各种构件的应用实例 Canvas class MyCanvas extends Canvas { Color color。 MyCanvas() { color=。 } public void paint(Graphics g) { (color)。 (20,20,100,100)。 ()。 (CANVAS,40,40)。 } public void swapColor() { if(color==) color=。 else if(color==) color=。 else color=。 repaint()。 } } . 51 各种构件的应用实例 Frame  Frame类 功能 : 制作一般的独立窗口 ,它是构件容器 创建  Frame fmInstance=new Frame()。 或 Frame fmInstance=  new Frame(“The window for test”)。 将其显示到屏幕上  () 注意 :不用 add() 52 各种构件的应用实例 Frame 常用的方法  dispose,getCursorType,getIconImage,  getMenuBar,getTitle,isResizable,  setCursor,setIconImage,setMenuBar,  setResizable,setTitle 窗口的相关事件 : ,  _DESTROY  _EXPOSE,  _ICONIFY,  _MOVED 53 各种构件的应用实例 Frame 例 :创建一个窗口 ,并用按钮控制它的显示或 隐藏 FrameApplet Frame Window This is CustomFrame window Show window hide window 54 各种构件的应用实例 Frame 在 applet中 action处理 Button的事件 action捕获 button is show is hide 55 各种构件的应用实例 Frame . Frame Window This is CustomFrame window 为了将字符显示在自定义窗口中 ,包含输出语句的方法必须在自定义的窗口类中 关闭窗口的事件在窗口类本身处理 . 注 : 处理窗口中的事件用 handelEvent() public boolean handleEvent(Event evt) { switch() { case : dispose()。 (0)。 default: return (evt)。 } } 56 各种构件的应用实例 Frame public class FrameApplet extends Applet { CustomFrame frame。 Button button。 public void init() { frame=new CustomFrame (Custom Frame Window)。 button=new Button(Show Window)。 add(button)。 } } public boolean action(Event evt, Object arg) { boolean visible=()。 if(visible){ ()。 (Show window)。 } else {()。 (Hide Window)。 return true。 } } 57 各种构件的应用实例 Frame class CustomFrame extends Frame { CustomFrame(String title) { super(title)。 } public boolean handleEvent(Event evt) { switch() { case : dispose()。 (0)。 default: return (evt)。 } } public void paint(Graphics g) { resize(200,100)。 (this is a custom window.,30,30)。 } } 58 button2 button1 Button1 10 button2 1 button2 button1 Button1 0 button2 7 各种构件的应用实例 Frame 多窗口 (FrameApplet\) 59 各种构件的应用实例 Frame (按钮 ,关窗口 ),因此事件先由通用事件处理程序来接收 ,然后再根据情况做相应的处理 . switch() { case : dispose()。 return true。 case : return action(evt, )。 default: return (evt)。 } } 60 各种构件的应用实例 Frame 3. 任何时候只有一个窗口是活动的 (active)的因此不必考虑那个判断是哪一个窗口发生的事件  在 main()中 ,只做与窗口有关的事情 :创建窗口 ,显示窗口 在构造方法中 ,安排窗口中的构件 61 各种构件的应用实例 Frame import .*。 class ButtonsInFrames extends Frame { int a1=0,a2=0。 public static void main(String args[]) { ButtonsInFrames myframe1=new ButtonsInFrames()。 (Button in Frame1)。 (200,200)。 ()。 ButtonsInFrames myframe2=new ButtonsInFrames()。 (Button in Frame2)。 (200,200)。 ()。 } 62 各种构件的应用实例 Frame ButtonsInFrames() { setLayout(new BorderLayout())。 Button b1=new Button(Button1)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。