Chinaunix首页 | 论坛 | 博客
  • 博客访问: 942261
  • 博文数量: 146
  • 博客积分: 3321
  • 博客等级: 中校
  • 技术积分: 1523
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 10:32
文章分类

全部博文(146)

文章存档

2014年(2)

2013年(5)

2012年(4)

2011年(6)

2010年(30)

2009年(75)

2008年(24)

分类: Java

2009-02-28 21:43:52

放假在家里看了一点gui方面的知识,感到这个java的gui还真复杂
 

.测试程序一:

代码:

import java.awt.*;

public class TestFrame{

   public static void main(String[] args){

       MyFrame f1 = new MyFrame("just!",30,30,400,400);

   }

}

class MyFrame extends Frame{

  private Panel p1,p2,p3,p4;

  

  MyFrame(String s,int x,int y,int w,int h){

     super(s);

    // setLayout(new FlowLayout());

     setLayout(new GridLayout(2,2));

     p1 = new Panel();

     p2 = new Panel(null);

     p3 = new Panel(null);

     p4 = new Panel(null);

     p1.setBounds(0,0,w/2,h/2);

     p2.setBounds(0,h/2,w/2,h/2);

     p3.setBounds(w/2,0,w/2,h/2);

     p4.setBounds(w/2,h/2,w/2,h/2);

     p1.setBackground(Color.blue);

     p2.setBackground(Color.green);

     p3.setBackground(Color.yellow);

     p4.setBackground(Color.red);

    

      Button btn1 = new Button("f");

      Button btn2 = new Button("d");

      p1.add(btn1);

      p1.add(btn2);

     add(p1);

     add(p2);

     add(p3);

     add(p4);

     setBounds(x,y,w,h);

     setVisible(true);

     setResizable(true);

  }  

}

 

 

1.Panel p1 = new Panelnull);时表示p1上不能加任何组件,其大小和位置由setBoundsint x,int y,int width,int height)决定。

           2.Panel p1 = new Panel();时表示p1上可以增加其他组件,这时p1的大小将有所加入的组建大小决定。

           3.Panel p1 = new Panel();且他的上面没有再加其他组件时p1的大小将是默任的大小应该是5个像素的宽度。

           4. public TextField(int columns)

          throws

构造具有指定列数的新空文本字段。列是近似平均字符宽度,它与平台有关。

      

 5.当为GridLayout布局时,对Panel的大小设定将不再起作用(尽管此时为Panel p1 = new Panel(null),当指定了GridLayout的布局模式(比如GridLayout(2,2))则新加入的组件按照所指定的格局排列,如果组件数目不足则优先满足行的排列;若没有明确指定GridLayout的格局模式则将按照竖向排列各组件。

6.可以设置Button的大小和位置,用来确定Button之间的间距,由此应该可以解决Button之间紧挨的问题。

setBounds(),setSize(),setLocation();这些方法都可以考虑应用。

7.Frame的默认布局管理器是BorderLayout

 Panel的默认布局管理器是FlowLayout

8.panel p1设置为setLayout(null)时直接用p1.add(btn1)方法无法在panel p1上天加按钮,因为此时系统无法确定Button该放在何处,此时要想正常显示button则要用方法setBounds()来指定Button的位置。

9.JFrame的默认布局管理器也是BorderLayout

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);可以使得JFrame正常退出。

 

 

阅读(1182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~