CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

[50分基本题]--------关于窗体布局LayOut()

楼主liyan010(我是大坏蛋)2006-03-16 20:42:39 在 Java / J2SE / 基础类 提问

 
  ■■■         ■■■■■■  
   
  ■■■         ■■■■■■  
   
  ■■■         ■■■■■■  
   
  请问我如何把六个控件排成以上的布局?(左三个一样宽,右三个一样宽,且不要紧挨着)  
   
  把每个控件SetBounds的方法,我觉得太傻。用LayOut可以实现么?  
   
  GridLayout实现的好象不满足我的要求,因为它总是使所有控件width相同,而且紧挨在一起。  
   
  谢谢!! 问题点数:50、回复次数:10Top

1 楼congliu(取次花丛都不顾,半缘修道半缘君。)回复于 2006-03-16 20:49:49 得分 5

用borland的nullLayout,可以精确到象素Top

2 楼liyan010(我是大坏蛋)回复于 2006-03-16 20:52:42 得分 0

能具体给段code么?  
   
  我刚学时间不长:(Top

3 楼liang8305(换工作的时间到了...)回复于 2006-03-16 20:53:24 得分 2

用NETBEANS   5.0拖拽吧...  
  我觉得没必要把精力放在排版上  
  咱们又不是干美工的Top

4 楼liyan010(我是大坏蛋)回复于 2006-03-16 21:10:33 得分 0

又一个精辟的回答  
   
    -_-!!Top

5 楼supersunyi(赖赖虫)回复于 2006-03-16 21:21:17 得分 5

■■■         ■■■■■■  
  flowlayout,borderlayou,boxlayou。。。结合使用,然后设置间隔就行Top

6 楼gtlang78()回复于 2006-03-17 00:04:39 得分 20

import   java.awt.BorderLayout;  
  import   java.awt.GridBagConstraints;  
  import   java.awt.GridBagLayout;  
  import   java.awt.Insets;  
   
  import   javax.swing.JFrame;  
  import   javax.swing.JLabel;  
  import   javax.swing.JPanel;  
  import   javax.swing.JTextField;  
   
  public   class   T  
  {  
  public   static   void   main(String[]   args)  
  {  
  JLabel   label1   =   new   JLabel("姓名:");  
  JLabel   label2   =   new   JLabel("出生日期:");  
  JLabel   label3   =   new   JLabel("地址:");  
   
  JTextField   textfield1   =   new   JTextField(10);  
  JTextField   textfield2   =   new   JTextField(10);  
  JTextField   textfield3   =   new   JTextField(10);  
   
  JPanel   p   =   new   JPanel(new   GridBagLayout());  
  p.add(label1,   new   GridBagConstraints(  
  0,   0,   1,   1,   0,   0,   GridBagConstraints.EAST,   GridBagConstraints.NONE,    
  new   Insets(5,   5,   5,   5),   0,   0));  
  p.add(textfield1,   new   GridBagConstraints(  
  1,   0,   1,   1,   1,   0,   GridBagConstraints.CENTER,   GridBagConstraints.HORIZONTAL,    
  new   Insets(5,   5,   5,   5),   0,   0));  
   
  p.add(label2,   new   GridBagConstraints(  
  0,   1,   1,   1,   0,   0,   GridBagConstraints.EAST,   GridBagConstraints.NONE,    
  new   Insets(0,   5,   5,   5),   0,   0));  
  p.add(textfield2,   new   GridBagConstraints(  
  1,   1,   1,   1,   1,   0,   GridBagConstraints.CENTER,   GridBagConstraints.HORIZONTAL,    
  new   Insets(0,   5,   5,   5),   0,   0));  
   
  p.add(label3,   new   GridBagConstraints(  
  0,   2,   1,   1,   0,   0,   GridBagConstraints.EAST,   GridBagConstraints.NONE,    
  new   Insets(0,   5,   5,   5),   0,   0));  
  p.add(textfield3,   new   GridBagConstraints(  
  1,   2,   1,   1,   1,   0,   GridBagConstraints.CENTER,   GridBagConstraints.HORIZONTAL,    
  new   Insets(0,   5,   5,   5),   0,   0));  
   
  JFrame   f   =   new   JFrame();  
  f.getContentPane().add(p,   BorderLayout.CENTER);  
  f.pack();  
  f.setLocationRelativeTo(null);  
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  f.setVisible(true);  
   
  }  
  }Top

7 楼Albert_1030()回复于 2006-03-17 08:04:52 得分 4

喜欢这样编码的!网格包很强大,不过熟练后还是应该用IDE吧。Top

8 楼eidolon_warrior(精灵_战士)回复于 2006-03-17 08:32:24 得分 4

jbuilderTop

9 楼cswei1021(蔡爽)回复于 2006-03-17 09:01:10 得分 10

用GridBagLayout,它比GridLayout灵活得多,可以设置行距、列间距,每行、每列都可以有不同的宽度,而且一个控件可以占据多个单元格,并且控件之间还可以设置间隙。  
   
  不过,最好的是把BoxLayout、BorderLayout、GridBagLayout等组合使用,这样才能更灵活、更贴切地构建出你想要的布局。Top

10 楼cswei1021(蔡爽)回复于 2006-03-17 09:03:12 得分 0

用什么IDE并不是很重要,掌握各种Layout   Manager的功能并灵活运用才是重点。Top

相关问题

  • 窗体的布局问题!
  • 窗体的布局
  • DELPHI窗体最大化以后布局变形的问题
  • 窗体问题?
  • 窗体问题?????
  • 窗体问题
  • 窗体问题。。。
  • 窗体问题
  • 窗体问题
  • 窗体问题??

关键词

  • 控件
  • swing
  • gridbagconstraints
  • jtextfield
  • jlabel
  • 布局
  • gridbaglayout
  • layout
  • textfield
  • insets

得分解答快速导航

  • 帖主:liyan010
  • congliu
  • liang8305
  • supersunyi
  • gtlang78
  • Albert_1030
  • eidolon_warrior
  • cswei1021

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo