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

Java基础
apatche组件的研究和使用
定时执行任务的三种方法
Java各种路径和参数
我看如何选择java和.net
Java关闭窗体的六种方法
java中容易迷惑的知识点
一个简单Thread缓冲池的实现
Java Swing中键盘事件的处理
解读内存优化编程
Java中Set的深入研究
一套JDOM操作XML文件的Base Class
Java堆和栈的区别
Thread类和Runable接口
java 定时执行任务,java定时器
递归(recursion)
java访问各种数据库连接代码
也谈JAVA值传参和引用传参
(转)一个牛人给java初学者的建议
java gui学习
JNI中文处理问题小结

Java基础 中的 java gui学习


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