Java学习笔记之用Box布局swing界面

JavaSwing_1.4: BoxLayout(箱式布局) BoxLayout,箱式布局管理器。它把若干组件按水平或垂直方向依次排列放置。Swing 提供了一个实现了 BoxLayout 的容器组件Box。使用 Box 提供的静态方法,可快速创建水平/垂直箱容器(Box),以及填充组件之间空隙的不可见组件。用水平箱和垂直箱的组合嵌套可实现类似于 GridBagLayout 的效果,但没那么复杂。 阅读详情

转载地址:http://blog.youkuaiyun.com/sjf0115/article/details/7064909

主要就用到了这四个方法

createHorizontalBox() 
          创建一个从左到右显示其组件的 Box。

createHorizontalStrut(int width)              //左右部件之间的中间间隔就可以用这个方法来控制
          创建一个不可见的、固定宽度的组件。

createVerticalBox() 
          创建一个从上到下显示其组件的 Box。

createVerticalStrut(int height)            //上下部件之间的中间间隔就可以用这个方法来控制
          创建一个不可见的、固定高度的组件。

效果图如下


[java]  view plain copy
  1. package com.geogro.webapp.applet.track;  
  2.   
  3.   
  4. import java.awt.*;  
  5. import javax.swing.*;  
  6. import javax.swing.border.*;  
  7.   
  8.   
  9. /**3G版本的数据过滤面板,输入过滤值查询3G值. 
  10.  * 
  11.  * @author snail 
  12.  * @date 07-03-26 
  13.  * @version 1.0 
  14.  */  
  15. public class Fliter3GPanel extends JPanel {  
  16.    private static Font defaultFont = new Font("SimSun", Font.PLAIN, 12); //默认字体  
  17.    TitledBorder titledBorder1 = new TitledBorder("参数设置");  
  18.    JTextField xTextField;  
  19.    JTextField yTextField;  
  20.    JTextField zTextField;  
  21.    JTextField inteTextField;  
  22.    DateChooserJButton fliterStartTimeButton;  
  23.    DateChooserJButton fliterEndTimeButton;  
  24.    JProgressBar fliterLoadBar;  
  25.    JButton okButton;  
  26.    JButton cancelButton;  
  27.   
  28.    private void jbInit() throws Exception {  
  29.       Box b = Box.createVerticalBox();  
  30.       JLabel bannerLabel = new JLabel("3G数据过滤查询");  
  31.       b.add(bannerLabel);  
  32.   
  33.       //-------------setTheInputPanel------------------------------  
  34.   
  35.       JPanel inputPanel = new JPanel();  
  36.       TitledBorder inputPanelBorder = new TitledBorder("设置参数");  
  37.       inputPanelBorder.setTitleFont(defaultFont);  
  38.       inputPanel.setBorder(inputPanelBorder);  
  39.   
  40.       Box vtemp = Box.createVerticalBox();  
  41.       Box htemp1 = Box.createHorizontalBox();  
  42.       Box htemp2 = Box.createHorizontalBox();  
  43.       Box htemp3 = Box.createHorizontalBox();  
  44.       Box htemp4 = Box.createHorizontalBox();  
  45.       Box htemp5 = Box.createHorizontalBox();  
  46.       Box htemp6 = Box.createHorizontalBox();  
  47.       Box htemp7 = Box.createHorizontalBox();  
  48.       Box htemp8 = Box.createHorizontalBox();  
  49.   
  50.       xTextField = new JTextField();  
  51.       xTextField.setPreferredSize(new Dimension(50, 10));  
  52.       htemp1.add(new JLabel("横向:"));  
  53.       htemp1.add(Box.createHorizontalStrut(10));     //创建label和textFied之间的距离  
  54.       htemp1.add(xTextField);  
  55.       htemp1.add(new JLabel("(例:3.01)"));  
  56.   
  57.       yTextField = new JTextField();  
  58.       yTextField.setPreferredSize(new Dimension(50, 10));  
  59.       htemp2.add(new JLabel("纵向:"));               
  60.       htemp2.add(Box.createHorizontalStrut(10));  
  61.       htemp2.add(yTextField);  
  62.       htemp2.add(new JLabel("(例:4.01)"));  
  63.   
  64.       zTextField = new JTextField();  
  65.       zTextField.setPreferredSize(new Dimension(50, 10));  
  66.       htemp3.add(new JLabel("垂直:"));  
  67.       htemp3.add(Box.createHorizontalStrut(10));  
  68.       htemp3.add(zTextField);  
  69.       htemp3.add(new JLabel("(例:3.01)"));  
  70.   
  71.       inteTextField = new JTextField();  
  72.       inteTextField.setPreferredSize(new Dimension(50, 10));  
  73.       htemp4.add(new JLabel("综合:"));  
  74.       htemp4.add(Box.createHorizontalStrut(10));  
  75.       htemp4.add(inteTextField);  
  76.       htemp4.add(new JLabel("(例:5.01)"));  
  77.   
  78.       fliterStartTimeButton = new DateChooserJButton();  
  79.       JLabel tmpLabel = new JLabel("开始时间:");  
  80.       htemp5.add(tmpLabel);  
  81.       htemp5.add(fliterStartTimeButton);  
  82.   
  83.       fliterEndTimeButton = new DateChooserJButton();  
  84.       JLabel tmpLabel2 = new JLabel("结束时间:");  
  85.       htemp6.add(tmpLabel2);  
  86.       htemp6.add(fliterEndTimeButton);  
  87.   
  88.       fliterLoadBar = new JProgressBar();  
  89.       JLabel tmpLabel3 = new JLabel("进度:");  
  90.       htemp7.add(tmpLabel3);  
  91.       htemp7.add(fliterLoadBar);  
  92.   
  93.       okButton = new JButton("过滤");  
  94.       cancelButton = new JButton("撤销");  
  95.       htemp8.add(okButton);  
  96.       htemp8.add(Box.createHorizontalStrut(10));  
  97.       htemp8.add(cancelButton);  
  98.   
  99.       vtemp.add(htemp1);  
  100.       vtemp.add(Box.createVerticalStrut(10));                  //创建上下空间距离  
  101.       vtemp.add(htemp2);  
  102.       vtemp.add(Box.createVerticalStrut(10));  
  103.       vtemp.add(htemp3);  
  104.       vtemp.add(Box.createVerticalStrut(10));  
  105.       vtemp.add(htemp4);  
  106.       vtemp.add(Box.createVerticalStrut(10));  
  107.       vtemp.add(htemp5);  
  108.       vtemp.add(Box.createVerticalStrut(10));  
  109.       vtemp.add(htemp6);  
  110.       vtemp.add(Box.createVerticalStrut(25));  
  111.       vtemp.add(htemp7);  
  112.       vtemp.add(Box.createVerticalStrut(5));  
  113.       vtemp.add(htemp8);  
  114.   
  115.       inputPanel.add(vtemp);  
  116.       //----------------------------------------------------------  
  117.   
  118.       //------------other panel init here-------------------------  
  119.   
  120.       //initCode!  
  121.   
  122.       //----------------------------------------------------------  
  123.   
  124.   
  125.       b.add(inputPanel);  
  126.       //b.add(otherPanel);  
  127.   
  128.       this.add(b, BorderLayout.NORTH);  
  129.    }  
  130.   
  131.   
  132.    public Fliter3GPanel() {  
  133.       try {  
  134.          jbInit();  
  135.       }  
  136.       catch (Exception ex) {  
  137.          ex.printStackTrace();  
  138.       }  
  139.    }  
  140.   
  141. }  

差分信号_差分信号的原理及其在PCB的设计 差分线是 PCB 设计中非常重要的一部分信号线,信号处理要求也是相当严谨,今天为大家介绍下差分信号的原理以及其在 PCB 设计中的处理方法。 什么是差分信号 差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相等,相位相差 180 度,极性相反。在这两根线上传输的信号就是差分... 阅读详情

相关推荐

从零开始使用matlab实现EKF-SLAM算法(含完整代码)

扩展卡尔曼滤波器同步定位与建图 (EKF-SLAM) 算法建立在 EKF 的基础上,集成了 EKF 的功能,可解决机器人技术中最具挑战性的问题之一:同时定位与建图 (SLAM)。 EKF-SLAM采用EKF方法来同时估计机器人的状态和周围环境的布局,而无需事先了解位置。 这种双重功能对于在未知环境中运行的自主系统至关重要,使它们能够在绘制区域地图时有效导航。 EKF-SLAM 算法一直是自动驾驶车辆和机器人系统开发的基石,为处理现实世界环境中固有的不确定性提供了一个强大的框架。

mjmmm的博客 6635

Swing框式布局(BoxLayout,Box)应用详解

转自 http://www.boxcode.cn/html/JAVA/J2SE/2009/0813/636.html框式布局利用无序网格布局,几乎可以产生任意复杂的布局模型。除了这一个AWT布局管理器之外,Swing还引入了另外一个叫做框式布局(Box Layout)的结构。框式布局能够生成复杂的布局结构,但却没有像使用无序网格布局那样麻烦。编程者不必处理任何权值,也不用采用反复试验的方法

java_jun的专栏 7497

CXL3.0 CDAT(Coherent Device Attributes Table)

在说明CDAT之前,先讲一下CXL中的DOE类型:CXL协议里定义了两种DOE的类型,一种是Compliance就是合规性测试的内容,还有一种就是CDAT(一致性属性表)Memory_Info_Valid是CXL设备的内存配置完成标志,位于DVSEC(Designated Vendor-Specific Extended Capability)的CXL Range X Size Low寄存器中(X为1或2)。

Summer的博客 1435

Java中swing的5种布局方式浅析

在一个传统的java项目中,遇到一个需要调整布局的需求,下面将学习网上大佬的文章,并将过程记录下来。

ldcaws的专栏 8097

Kali Linux实战:用Impacket的secretsdump.py快速提取Windows域控哈希(附避坑指南)

本文详细介绍了如何在Kali Linux中使用Impacket的secretsdump.py脚本快速提取Windows域控哈希,包括环境准备、原理剖析、实战操作及常见问题解决方案。特别适合CTF竞赛和网络信息安全爱好者学习,提升渗透测试效率。

weixin_33670786的博客 410

GPlates——【将化石点标记在古地理图上时,改变标记点的大小和形状】

GPlates在还原古地理图和计算古坐标点上功能十分卓越,最近在使用它标注某个类群的化石坐标点时,这些点在地图上显示得非常小,让人不易察觉。作为一款优秀的GUI应用,应该具备更改标记点外观的功能,然而在查阅了官方手册,pygplates API后,表明不管是桌面应用还是python接口,都无法简便地修改标记点的外观。在之前GPlates学习和最近的pygplates学习中,印象里有可以改变标记点外观的东西,叫做。当然,这又诱使我翻了一遍资料,然而又没有直接关于symbol的资料。

whitedrogen的博客 2542

Java GUI编程(11)---箱式布局BoxLayout

箱式布局BoxLayout, 把若干组件按水平或垂直方向依次排列放置. 实现原理就是快速创建水平/垂直箱容器(Box) Box hB = Box.createHorizontalBox(); //创建一个水平箱 Box vB = Box.createVerticalBox(); //创建一个垂直箱 箱内的组件之间默认没有空隙并居中, 添加空隙则可创建用于填充空隙的不可见组件:glue、st...

木生火 1268

Kubernetes集群资源优化实战:Volcano调度器如何帮你省下30%GPU算力

本文详细介绍了如何通过Volcano调度器的Binpack策略优化Kubernetes集群中的GPU资源利用率,解决AI模型训练中的资源碎片化问题。通过实战配置和调优指南,帮助用户提升30%的GPU算力利用率,显著降低任务等待时间和硬件成本。

weixin_30832143的博客 507

Swing —— Box容器组件

普通 Glue Strut Rigid Filler   普通 box.add(new JButton("按钮1")); box.add(new JButton("按钮2")); box.add(new JButton("按钮3"));

tuxq5721 7789

【已解决】App unavailable Unfortunately, Claude is only available in certain countries and regions

App unavailable Unfortunately, Claude is only available in certain countries and regions right now. We will soon publish a list of supported locations on our website.

weixin_43941438的博客 3万+

YTM32B1M SDK解析31:软件I2C驱动详解

YTM32B1M微控制器软件I2C驱动解析 本文详细介绍了YTM32B1M微控制器中通过GPIO引脚模拟I2C总线的软件实现方案。核心内容包括: 驱动架构:采用swi2c_config_t配置结构体和swi2c_state_t状态结构体管理I2C参数 功能接口:提供初始化、数据传输(主/从模式)、底层控制等API 应用示例:包含基本配置、EEPROM读写、传感器数据采集、总线扫描等典型应用场景 优化建议:给出引脚选择、时序配置、错误处理等方面的最佳实践 该驱动在硬件I2C资源不足时提供可靠替代方案,支持标准

VehSwHwDeveloper的博客 158

Java swing box 居中

我整理的一些关于【Java】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/f2PFnNJava Swing Box 居中布局的使用与实现 Java Swing 是一个强大且灵活的图形用户界面 (GUI) 工具包,允许开发者快速创建跨平台的应用程序。在开发应用时,控件的布局管...

weixin_40409951的博客 270

库存管理系统项目部署方案(基于jdk8)

不需要安装到服务器,运维本地安装就行,主要是用来编译前端代码的。构建完成后将dist文件夹复制到服务器内。

程序员诚哥 2574

基于Swing的图形化用户界面——学习笔记

基于Swing的图形化用户界面——学习笔记 前言:WindowBuilder它不香吗?(划掉) 由于学Java,还是老老实实用代码实现吧,布局布的我心态爆炸,还不如使用空布局(正如老师所说:真正的高手往往都是手中无剑,心中有剑,hhh) 好吧,废话不多说,还是切入正题吧! 前几次作业感觉布局还好,都不是特别麻烦,但是这次作业,如果要想界面做的比较好看的话,就必须能够很好的掌握布局。。。。。。(尤其...

serendipity的博客 1311

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java图形界面box_Java图形界面开发:高级Swing容器(一)

第10章探讨了AWT与Swing中的布局管理器。在本章中,我们将会了解一些构建在这些布局管理器之上的容器以及其他的一些无需布局管理器的容器。我们的探讨由Box类开始,我们将会发现使用BoxLayout管理器来创建一个单行或单列组件的最好方法。接下来我们会了解JSplitPane容器,他类似于其中只有两个组件的特殊的Box。JSplitPane提供了一个分隔栏,用户可以拖动这个分隔栏来调整组件的大小...

weixin_33648811的博客 1470

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

box java_swing里的box是什么作用?java

展开全部主要就用到了这四个方法createHorizontalBox()创建62616964757a686964616fe58685e5aeb931333361303566一个从左到右显示其组件的 Box。createHorizontalStrut(int width) //左右部件之间的中间间隔就可以用这个方法来控制创建一个不可见的、固定宽度的组件。createVert...

weixin_33487811的博客 1377

运用 BoxLayout 和Box结合进行 Swing 控件布局(转)

原地址:https://www.ibm.com/developerworks/cn/java/j-lo-boxlayout/index.html 运用 BoxLayout 进行 Swing 控件布局 陈 怡平 2012 年 12 月 03 日发布 引言 在用户使用 Java Swing 进行用户界面开发过程中,会碰到如何对 Java Swing 的控件进行布局的问题。Swing ...

FDGFGFDGFD的博客 755

用Box布局swing界面

帮程序添加了一个小模块~~画界面用Box布局管理器,觉得用起来挺方便的~~这里介绍给还没使用的朋友~~  主要就用到了这四个方法 createHorizontalBox()           创建一个从左到右显示其组件的 Box。createHorizontalStrut(int width)              //左右部件之间的中间间隔就可以用这个方法来控制      

飞羽飞の猪の博客 4819

java boxlayout_运用 BoxLayout 进行 Swing 控件布局

对于初学 Java Swing 的开发人员来说,控件的布局是比较困难的。相对于 FlowLayout 而言,BoxLayout 比较灵活,有更大的功能,可以完成比较复杂界面的布局,本文将在基于例子的基础上给出如何较好的使用 BoxLayout, 可以给 Java Swing 的初学者一些启发。引言在用户使用 Java Swing 进行用户界面开发过程中,会碰到如何对 Java Swing 的控件进...

weixin_35241897的博客 418

box布局 java_Java Swing组件BoxLayout布局用法示例

本文实例讲述了Java Swing组件BoxLayout布局用法。分享给大家供大家参考,具体如下:BoxLayout 可以把控件依次进行水平或者垂直排列布局,这是通过参数 X_AXIS、Y_AXIS 来决定的。X_AXIS 表示水平排列,而 Y_AXIS 表示垂直排列。BoxLayout 的构造函数有两个参数,一个参数定义使用该 BoxLayout 的容器,另一个参数是指定 BoxLayout 是...

weixin_39851914的博客 576

[疯狂Java笔记]AWT:BoxLayout盒式布局、Box容器

1. BoxLayout——盒式布局:     1) 这是Swing中新引入的一种布局,为了弥补GridBagLayout过于复杂的缺点;     2) 但其并不是一种GridBagLayout的替代品,而是结合前面的流式、方位式等形成更丰富灵活的布局模式,目的是为了和之前的布局模式嵌套组合;     3) 这里的盒子是一种单向布局盒子,一个盒子同时只能具有一种方向的排列,要么纵向要么横向(

Lirx_Tech的专栏 8701
上一篇: Linux下ntpdate时间同步
下一篇: Junit 测试执行顺序
achang21
博客等级 码龄21年 269粉丝 405原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值