免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1243 | 回复: 0
打印 上一主题 下一主题

java gui学习 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-28 21:43 |只看该作者 |倒序浏览
放假在家里看了一点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 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正常退出。




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/77727/showart_1847209.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP