javapanel根据内部组件_java gui中怎么用jpanel实现组件的绝对定位

展开全部

相对定位是利用布局管理器GridBagLayout() 来实现的GridBagLayout 布局是根据GridBagConstraints() 来设定的GridBagConstraints主要有8个重要参数需要掌握非别62616964757a686964616fe58685e5aeb931333332613033是

gridx,gridy  ——  设置组件的位置,

gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。

gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。

建议定义出gridx,gridy的位置以便以后维护程序。gridx=0,gridy=0时放在0行0列。

gridwidth,gridheight  ——  用来设置组件所占的单位长度与高度,默认值皆为1。

你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。

weightx,weighty  ——  用来设置窗口变大时,各组件跟着变大的比例。

当数字越大,表示组件能得到更多的空间,默认值皆为0。

anchor  ——  当组件空间大于组件本身时,要将组件置于何处。

有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。

insets  ——  设置组件之间彼此的间距。

它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。

ipadx,ipady  ——  设置组件间距,默认值为0。

GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置

好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。

构造函数:

GirdBagLayout()建立一个新的GridBagLayout管理器。

GridBagConstraints()建立一个新的GridBagConstraints对象。

GridBagConstraints(int gridx,int gridy,

int gridwidth,int gridheight,

double weightx,double weighty,

int anchor,int fill, Insets insets,

int ipadx,int ipady)建立一个新的GridBagConstraints对象,并指定其参数的值

下面是我的例程:

实现

import javax.swing.*;

import java.util.*;

import java.awt.*;

public class Example extends JFrame{

private void makeComponent(GridBagLayout gbLaout,GridBagConstraints constraints,Component component)

{

gbLaout.setConstraints(component, constraints);

add(component);

}

public static void main(String args[]) {

Example exp=new Example();

GridBagLayout gridbag = new GridBagLayout();

GridBagConstraints c = new GridBagConstraints();

exp.setLayout(gridbag);

JButton jb1=new JButton("JButton1");

c.gridx=0;

c.gridy=0;

c.gridwidth=1;

c.gridheight=1;

c.weightx=1;

c.weighty=0;

c.anchor=GridBagConstraints.CENTER;

c.fill=GridBagConstraints.HORIZONTAL;

c.insets=new Insets(0,0,0,0);

c.ipadx=0;

c.ipady=0;

exp.makeComponent(gridbag,c,jb1);

JButton jb2=new JButton("JButton2");

c.gridx=1;

exp.makeComponent(gridbag,c,jb2);

JButton jb3=new JButton("JButton2");

c.gridx=2;

exp.makeComponent(gridbag,c,jb3);

JButton jb4=new JButton("JButton2");

c.gridx=3;

exp.makeComponent(gridbag,c,jb4);

JButton jb5=new JButton("JButton5");

c.gridx=0;

c.gridy=1;

c.gridheight=1;

c.gridwidth=4;

exp.makeComponent(gridbag,c,jb5);

JButton jb6=new JButton("JButton6");

c.gridx=0;

c.gridy=2;

c.gridwidth=3;

exp.makeComponent(gridbag,c,jb6);

JButton jb7=new JButton("JButton7");

c.gridx=3;

c.gridy=2;

c.gridwidth=1;

exp.makeComponent(gridbag,c,jb7);

JButton jb8=new JButton("JButton8");

c.gridx=0;

c.gridy=3;

c.gridwidth=1;

c.gridheight=2;

c.fill=GridBagConstraints.BOTH;

exp.makeComponent(gridbag,c,jb8);

JButton jb9=new JButton("JButton9");

c.gridx=1;

c.gridy=3;

c.gridwidth=3;

c.gridheight=1;

c.fill=GridBagConstraints.HORIZONTAL;

exp.makeComponent(gridbag,c,jb9);

JButton jb10=new JButton("JButton10");

c.gridx=1;

c.gridy=4;

c.gridwidth=3;

c.gridheight=1;

c.fill=GridBagConstraints.HORIZONTAL;

exp.makeComponent(gridbag,c,jb10);

exp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

exp.setSize(500,500);

exp.setVisible(true);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打开word2007总是出现配置进度_实战经验:Word 2007每次打开都弹出正在配置

在一次清理注册表之后,发现每次打开Word 2007时,都会弹出”正在配置”的对话框。经过实验,发现可以使用如下的方法解决此问题:1) 打开cmd命令行2) 对于Word 2007,执行如下的指令:reg add HKCUSoftwareMicro…

Java 8中流Stream API详解

先给个示例,展示Java 8流API的优势 假设我们有以下任务: 给定一个字符串列表,我们需要执行以下操作: 筛选出所有以"A"开头的字符串。 将这些字符串转换为大写。 对这些字符串按照长度进行排序。 最后,将…

短信宝 php使用,[php] 使用 短信宝 发送短信(thinkphp)

/*** SmsBao实现类* category Think* package Think* subpackage Sms*/classSmsBao {private$account;//短信包账户private$password;//密码private$balance;//短信剩余条数constsendSmsUrl "http://api.smsbao.com/sms";constqueryBalanceUrl "http://api.smsb…

chrome github上不去 mac_码农大叔打赌,github上快速搜索优质开源项目,这些技能你不懂?...

GitHub的流行, GitHub在开源世界的受欢迎程度自不必多言。再加上今天,GitHub官方又搞了个大新闻:私有仓库也改为免费使用,这在原来可是需要真金白银的买的。可见微软收购后,依然没有改变 GitHub 的定位,甚至…

matlab保存数据到excel_Excel意外退出数据未保存?这个方法可以帮你找回所有数据...

老师们每天都需要完成大量的教学工作,且他们的每一个工作都是跟文字或数据打交道,Excel也逐渐成为了大家日常办公中的必备软件。在利用Excel办公时,通常是这么一个操作流程——新建、编辑、保存。编辑的时间可能是几分钟,也可能是…

c 调用matlab文件路径,C/C++下调用matlab函数操作说明

1.matlab的安装连接:http://pan.baidu.com/s/1qXuF7aO安装32位版本的matlab(在目录下bin文件夹中有两个文件夹,选择win32文件夹下的setup进行安装)2.matlab mex编译器配置安装完matlab之后,需要设定对应的c编译器才能编译.m文件生成可供c调用…

linux tomcat环境变量配置_Tomcat

Tomcat介绍1.Web服务器介绍Web服务器可以解析HTTP协议,收到请求后可以进行响应,比如响应静态资源、进行页面跳转等Web服务器响应可委托给CGI脚本、JSP脚本、ASP脚本、服务器端JS等程序或其它服务器端技术Web服务器通常产生一个html响应以便浏览器浏览2.常…

desktop docker 无法卸载_Docker容器无法停止或移除-权限被拒绝错误

问题 :无法停止泊坞窗容器,每当我尝试停止容器时,都会收到以下错误消息,ERROR: for yattyadocker_web_1 cannot stop container: 1f04148910c5bac38983e6beb3f6da4c8be3f46ceeccdc8d7de0da9d2d76edd8: Cannot kill container 1f04…

oracle crs 命令,ORACLE RAC CRSCTL 命令使用 及 执行的用户

oracle rac crsctl命令使用查看crs资源状态[griddb1 ~]$ crs_stat -tName Type Target State Host------------------------------------------------------------ora.DATA.dg ora....up.type ONLINE ONLINE db1ora.FRA.dg ora....up.type ONLINE ONLINEdb1ora....ER.…

一直未运行_【直击一线】延一转三相分离器投运成功,盘活全区生产运行一盘棋...

喜 讯4月30日上午17点30点,新安边作业区延一接转注水站上新更换的三相分离器一次投运成功,这个好消息不胫而走传遍了全区收获获赞声一片,这也是对连日来奋战在施工作业现场的新安边人最大的褒奖。 延一接转注水站全貌延一接转注水站是新安边…

python字符串长度_在python中如何获取字符串的长度

python中如何获取字符串的长度?本篇文章就给大家介绍4种在python中计算并输出字符串长度的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 Python中的字符串是Unicode代码点的不可变序列。给定一个字符串&#xff0c…

python的py文件打包成exe_将python项目.py文件打包成.exe文件

安装pyinstaller包pip3 install pyinstaller如果不行pip3 install pyinstaller -i https://pypi.doubanio.com/simple准备一个你要打包的.py文件,cd到该文件路径下,打开cmd在命令行中输入:pyinstaller -F xxx.py或者pyinstaller.exe -F xxx.p…

python处理字典的方法_python字典的常用操作方法小结

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋友可以参考下。 字典由键和对应值成对组成。字典也被称作…

oracle rowed,oracle bitmap索引内部揭密,欢迎补充

位图(bitmap)索引是另外一种索引类型,它的组织形式与B树索引相同,也是一棵平衡树。与B树索引的区别在于叶子节点里存放索引条目的方式不同。从前面我们知道,B树索引的叶子节点里,对于表里的每个数据行,如果被索引列的值…

linux 谷歌浏览器设置代理_linux下chrome+Proxy Switchy+ssh和firefox+autoproxy+ssh | 学步园...

继之前firefoxautoproxytorprivoxy失效之后,找到了更简单更快速的ssh代理方法:chromeProxy Switchyssh和firefoxautoproxyssh。两种方法都需要一个ssh用户,到这里免费申请:http://www.cjb.net/cgi-bin/shell.cgi?actionsignup。1…

asp.mvc 4项目发布文件目录结构_Spring Boot项目搭建与启动

Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发…

主成分分析碎石图_主成分分析大全

1 背景主成分分析法是数据挖掘中常用的一种降维算法,是Pearson在1901年提出的,再后来由hotelling在1933年加以发展提出的一种多变量的统计方法,其最主要的用途在于“降维”,通过析取主成分显出的最大的个别差异,也可以用来削减回归分析和聚类分析中变量的…

oracle中删除表字段 sql语句怎么写,oracle使用sql语句增加字段示例(sql删除字段语句)...

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);删除字段的语法:alter table table…

windows7系统适合哪个python_Python3.6.4在Windows7系统下安装配置教程

Python3.64在Windows7系统下安装配置教程 工具/原料 Windows7系统 python3.6.4版本 方法/步骤 1 双击应用程序打开如图所示的界面这里是应用程序向导界面 这里建议勾选底部的自动写入path,然后点击自定义选项(如图)(当然你也可以选…

ios 获取沙河文件夹_iOS开发之获取沙盒路径

iOS开发之沙盒机制(SandBox)详细讲解了沙盒的一些机制。在开发中,我们需要对沙盒进行操作,所以我们需要获取到沙盒路径。沙盒里的文件夹包括Documents、Library、tmp。这三个文件夹的作用请点击这里。接下来我们来讲解如何获取Documents、Library、tmp的…