随笔 - 303  文章 - 883  trackbacks - 0
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

欢迎光临! 
闲聊 QQ:1074961813

随笔分类(357)

我管理的群

公共blog

  • n维空间
  • Email : java3d@126.com 群 : 12999758

参与管理的论坛

好友的blog

我的其他blog

朋友的网站

搜索

  •  

最新评论

/*
   朋友你好啊!我是寻觅,这个代码是网上找的,有个网友最近在弄
      我注释了一下,给大家看,由于刚刚接触,写错之处还请指出,谢谢支持!
    AWT包括4个主要的类:
  Component(构件)——菜单、按钮、标签、列表等构件的抽象基本类
  Container(容器)——扩展Component的抽象基本类。由Container演变的类,如Panel、Applet、
        Window、Dialog和Frame等
  LayoutManager(布局管理器)——定义容器中构件位置和尺寸方法的接口
  Graphics(图形类)——定义构件内图形操作的基本类,每个构件都有一个相关的图形对象
    (具体内容大家自己查API文档)
*/

  1 import  java.awt.Component;
  2 import  java.awt.Container;
  3 import  java.awt.GraphicsEnvironment;
  4 import  java.awt.GridBagConstraints;
  5 import  java.awt.GridBagLayout;
  6
  7 import  javax.swing.JCheckBox;
  8 import  javax.swing.JComboBox;
  9 import  javax.swing.JFrame;
 10 import  javax.swing.JLabel;
 11 import  javax.swing.JPanel;
 12 import  javax.swing.JTextArea;
 13
 14 public   class  GirdBagLayoutTest
 15 {
 16
 17      public   static   void  main(String[] args)                          // 主函数创建
 18      {
 19         GirdBagLayoutFrame frame  =   new  GirdBagLayoutFrame();        // 窗口创建
 20         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       // 设置默认关闭操作  
 21         frame.setVisible( true );                                     // 设置组件可视化
 22     }

 23 }

 24
 25 class  GirdBagLayoutFrame  extends  JFrame
 26 {
 27      public  GirdBagLayoutFrame()
 28      {
 29         setTitle( " 网格组事件 " );                      
 30         setSize( 300 , 150 );                                    // 窗口大小
 31
 32         Container con  =  getContentPane();                     // 创建容器
 33         GirdBagLayoutPanel panel  =   new  GirdBagLayoutPanel();     // 创建画板
 34         con.add(panel);                                          // 将画板加如容器
 35     }

 36 }

 37
 38 class  GirdBagLayoutPanel  extends  JPanel
 39 {
 40      public  JLabel lname, lsize;                                // 创建两个标签
 41
 42      public  JComboBox cname, csize;                            // 创建两个列表框
 43
 44      public  JCheckBox bold, italic;                            // 创建两个复选框
 45
 46      public  JTextArea area;                                     // 创建文本书写
 47
 48      public  GirdBagLayoutPanel()                                // 重点,加入组件
 49      {
 50         lname  =   new  JLabel( " Name " );                             // 初始化两个标签
 51         lsize  =   new  JLabel( " Size " );
 52         String[] fonts  =  GraphicsEnvironment.getLocalGraphicsEnvironment() // 调用GraphicsEnvironment关于本地的一个
 53                 .getAvailableFontFamilyNames();                // 方法getLocalGraphicsEnvironment()接着继续调用
 54                                                                // 抽象类getAvailableFontFamilyNames
 55                                                                // 这里创建的变量fonts用于向用户展示特定字体系列名称
 56
 57         cname  =   new  JComboBox(fonts);                            // 将font加入
 58         csize  =   new  JComboBox( new  String[]
 59          " 8 " " 12 " " 14 " " 16 " " 18 " " 20 " " 24 " " 26 " " 36 "  } );  // 普通列表框加入,字体大小
 60
 61         bold  =   new  JCheckBox( " Bold " );                           // 设置两个复选旁边的标签
 62         italic  =   new  JCheckBox( " Italic " );
 63         area  =   new  JTextArea( " 欢迎来到太湖 " );                  // 在文本写入部分写入内容
 64         area.setLineWrap( true ); // 自动换行                       // 在文本写入部分设置允许换行
 65          // 实例化网格组布局
 66   // ************************重中之重******************************************************/   
 67         GridBagLayout layout  =   new  GridBagLayout();
 68          // GridBagLayout在AWT里用于设置布局管理
 69         setLayout(layout);
 70          // 实例化网格组布局的限制类(此类协助网格组布局类完成工作)
 71         GridBagConstraints constraints  =   new  GridBagConstraints();
 72          // 创建加组件的容器
 73         constraints.anchor  =  GridBagConstraints.EAST; // 居右对齐
 74         constraints.fill  =  GridBagConstraints.NONE; // 不填充
 75         constraints.weightx  =   0 // 水平方向不缩放
 76         constraints.weighty  =   0 // 垂直方向不缩放  0代表不缩放 100代表缩放
 77          // 容器设置结束,开始加组件
 78          // 这里要先向大家解释这个:(constraints"约束", “控件的”x “坐标”, y "坐标" , “宽度” ,"高度")
 79          // 具体实现方法看下面的addObj函数;
 80         addObj(constraints, 0 , 0 , 1 , 1 ,lname);    // 加入两个标签
 81         addObj(constraints, 0 , 1 , 1 , 1 ,lsize);
 82         
 83         constraints.fill  =  GridBagConstraints.HORIZONTAL; // 水平填充
 84         constraints.weightx  =   100 ; // 水平缩放
 85         addObj(constraints, 1 , 0 , 1 , 1 ,cname);
 86         addObj(constraints, 1 , 1 , 1 , 1 ,csize);
 87         
 88         constraints.weighty  =   100 ; // 垂直缩放
 89         constraints.fill  =  GridBagConstraints.NONE; // 不填充
 90         constraints.anchor  =  GridBagConstraints.CENTER; // 居中对其
 91         addObj(constraints, 0 , 2 , 2 , 1 ,bold);
 92         addObj(constraints, 0 , 2 , 6 , 1 ,italic);
 93         
 94         constraints.fill  =  GridBagConstraints.BOTH; // 水平垂直都填充
 95         addObj(constraints, 2 , 0 , 1 , 4 ,area);
 96 // ***************************************************************************************/                      
 97     }

 98     
 99      // 方法,注意加控件的函数是没有返回值的;
100      public   void  addObj(GridBagConstraints gc, int  x, int  y, int  w, int  h,
101                        Component c) // 传递参数 Component 主键
102      {
103         gc.gridx  =  x;
104         gc.gridy  =  y;
105         gc.gridwidth  =  w;
106         gc.gridheight  =  h;
107         add(c,gc);
108     }

109 }

110
111


地震让大伙知道:居安思危,才是生存之道。
posted on 2007-02-28 15:00 小寻 阅读(423) 评论(0)  编辑  收藏 所属分类: j2se/j2ee/j2me

只有注册用户登录后才能发表评论。


网站导航: