当前位置: 首页 > 图文教程 > Java技术 > Java基础 > java gui学习

Java基础
java基础:小编浅谈java对象
Java基础:孙鑫谈Java中文乱码问题产生原因分析(一)
Java基础:孙鑫谈Java中文乱码问题产生原因分析(二)
Java基础:小编谈JDBC
Java基础:小编详谈Java编码规则并不是老生常谈
Java基础:小编详谈AOP概念
Java基础:小编谈java多维数组
Java基础:小编谈Javascript之DOM的使用(25条)
Java基础:小编杂谈动态语言
Java基础:程序员之家七月份Java基础总结
Java基础:XHTML中css+div布局(经典8条)
Java基础:小编浅谈Spring基于三大模板的Web表示层技术
Java基础:浅谈多线程那点事
Javai基础:浅谈封装的那些事
Java基础:小编浅谈JavaScript中自定义函数那些事
Java基础:小编谈JavaScript中使用原型来创建对象
Java基础:CSS那些事
Java基础:小编对JavaScript的一些认识
Java基础:小编浅谈JavaScript与Java区别何在
Java基础:小编谈继承的语法

Java基础 中的 java gui学习


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 191 ::
收藏到网摘: n/a

测试程序一:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

代码:

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 Panel(null);时表示p1上不能加任何组件,其大小和位置由setBounds(int 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 HeadlessException

 

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

      

 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正常退出。