4Frame Javajava awt5Flow Layout Border LayoutCard LayoutGrid Bag






4、Frame






布局策略 Java在java. awt包中定义了5种布局,它们分别是:Flow. Layout、 Border. Layout、Card. Layout、Grid. Bag. Layout。 设置布局的格式为: 容器对象. set. Layout(布局策略); Panel p = new Panel(); p. set. Layout(new Border. Layout());




import java. awt. *; 第四节 布局管理器 输出为: public class My. Flow { private Frame f; private Button b 1, b 2, b 3; public static void main (String args[]){ My. Flow mf = new My. Flow ( ); mf. go ( ); } public void go ( ) { f = new Frame ( "Flow Layout" ); f. set. Layout (new Flow. Layout ( ) ); b 1 = new Button ( "OK" ); b 2 = new Button ( "Open" ); b 3 = new Button ( "Close" ); f. add ( b 1 ); f. add ( b 2 ); f. add ( b 3 ); f. set. Size ( 100, 100 ); f. set. Visible ( true ); } } NCEPU


边界布局示例 1. /* 边界布局示例 */ 2. import java. awt. *; 3. public class Example 4_6 extends java. applet. Applet 4. { 5. public void init(){ 6. set. Layout(new Border. Layout()); 7. //将其他构件加入 8. add("East", new Button("East")); 9. add("South", new Button("South")); 10. add("West", new Button("West")); 11. add("North", new Button("North")); 12. add("Center", new Button("Center")); 13. } 14. }






知识要点 - 事件处理 监 听 器 类 设 计 自 己 的 窗 体 类 主 类 1. 2. 3. 4. 5. 6. 7. 8. 9. 1. 2. 3. 4. 5. 6. 7. 8. 9. import java. awt. *; import java. awt. event. *; class Button. Listener implements Action. Listener { public void action. Performed ( Action. Event e ) { System. out. println ( “我知道你按下按钮啦“ ); } } class my. Button. Frame extends Frame { Button btn; my. Button. Frame(String s) { //构造函数 super(s); 按钮 this. set. Size(200, 120); 监听器 按钮 窗体 主类 事 件源 /* 创建按钮*/ btn = new Button("点击"); this. add(btn); // 事件监听器创建和注册 Button. Listener bl = new Button. Listener(); btn. add. Action. Listener(bl); 注册 监听 器 } } 19. public class Action. Event. Test { // 主类 20. public static void main(String args[]){ 21. 22. 23. 24. my. Button. Frame frm = new my. Button. Frame("Action. Event. Test"); } } frm. show(); // 显示窗体



- Slides: 27