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

Java基础
Struts+Hibernate数据表示
JSP+MYSQL+Java类优化分页
利用JBuilder 2005 开发Spring
Java程序与C语言的接口
10分钟Hibernate体验
Tomcat配置技巧Top 10
JDBC+Hibernate将Blob数据写入Oracle
Java使用全屏幕模式
Java基础:小编浅谈C#与java的属性区别
Java基础:小编浅谈C#和Java的相似之处
Java基础:小编浅谈C#与java的事件区别
Java基础:小编浅谈C#与java的对象索引机制、指代的区别
Java基础:小编谈Java中获取系统属性
Java基础:浅谈Java Bean与EJB的那些区别
Java基础:Java中对文件读写操作概述
Java基础:Java中安全问题
Java基础:浅谈面向对象应用中的持续性
Java中多线程的实现
多线程使用中的问题
MIME详解

Java基础 中的 java gui学习


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 194 ::
收藏到网摘: 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正常退出。