borderlayoutJAVA BorderLayout布局
borderlayout 时间:2021-06-19 阅读:(
)
ECLIPSE中BorderLayout为什么不能使用
import?javax.swing.*;???
import?java.awt.*;???//缺包
public?class?MyBorderLayout{??//类名问题,楼上说了
public?static?void?main(String[]?args)?{
JFrame?frame=new??JFrame("BorderLayout");
JButton?btn1=new?JButton("BUTTON1");
JButton?btn2=new?JButton("BUTTON2");
//JFrame默认布局为BorderLayout,所以这句可以缺省
//frame.setLayout(new?BorderLayout());
frame.add(btn1,BorderLayout.EAST);
frame.add(btn2,BorderLayout.WEST);
frame.setSize(400,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}borderlayout布局
可以用混合布局:
在大的框架上用一次BorderLayout,然后顶一个panel放在Center,panel再设置一个布局(看需要),比如想在中间的底部,那么就再设置一次BorderLayout,将label放到panel的south。
new Borderlayout(10,1) 参数是什么意思?
public BorderLayout(int hgap,int vgap)构造一个具有指定组件间距的边框布局。
水平间距由 hgap 指定,垂直间距由 vgap 指定。
参数:
hgap - 水平间距。
vgap - 垂直间距。
java编程创建1个框架并将其内容窗格布局管理器设置为BorderLayout
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?blue?implements?ActionListener
{
JFrame?frame;
JPanel?p1,p2;
JButton?b1,b2,b3,bb1,bb2,bb3;
JLabel?lbl=new?JLabel();
int?i=0;
public?static?void?main(String[]?args){
blue?qi=new?blue();
qi.go();
}
????public?void?go(){
frame=new?JFrame("2012/6/24");
p1=new?JPanel();
p2=new?JPanel();
b1=new?JButton("blue1");
b2=new?JButton("blue2");
b3=new?JButton("blue3");
p1.setLayout(new?BorderLayout());
????p1.add(b1);
p1.add("West",b2);
p1.add(b3);
bb1=new?JButton("blue4");
bb2=new?JButton("blue5");
bb3=new?JButton("blue6");
p2.setLayout(new?BorderLayout());
p2.add(bb1);
p2.add("West",bb2);
p2.add("South",bb3);
????frame.getContentPane().add(p1);
frame.getContentPane().add("West",p2);
????frame.getContentPane().add("North",lbl);
????b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
bb1.addActionListener(this);
bb2.addActionListener(this);
bb3.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,300);
frame.setLocation(500,300);
frame.setVisible(true);
}
public?void?actionPerformed(ActionEvent?e){
i++;
lbl.setText("您已经点击了"+i+"次按钮!");
}
};FlowLayout,BorderLayout ,GridLayout ,CardLayout,GridBagLayout ,null ,BoxLayout布局的特点各是什么?
FlowLayout:流布局用于安排有向流中的组件,这非常类似于段落中的文本行。
流布局一般用来安排面板中的按钮。
它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。
线的对齐方式由 align 属性确定。
可能的值为:
LEFT - 此值指示每一行组件都应该是左对齐的
RIGHT - 此值指示每一行组件都应该是右对齐的
CENTER - 此值指示每一行组件都应该是居中的
LEADING - 此值指示每一行组件都应该与容器方向的开始边对齐
TRAILING - 此值指示每行组件都应该与容器方向的结束边对齐
BorderLayout :这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。
每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH、EAST、WEST、CENTER。
CardLayout :它将容器中的每个组件看作一张卡片。
一次只能看到一张卡片,容器则充当卡片的堆栈。
当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件。
卡片的顺序由组件对象本身在容器内部的顺序决定。
GridBagLayout :它是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直、水平或沿它们的基线对齐。
每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域。
null:当布局设置为null时,可使用java.awt.Window 提供的public void setBounds(int x,
int y,
int width,
int height)移动组件并调整其大小。
由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
如果 width 值或 height 值小于之前调用 setMinimumSize 指定的最小大小,则它的值将自动增加。
覆盖:
类 Component 中的 setBounds
参数:
x - 组件的新 x 坐标
y - 组件的新 y 坐标
width - 组件的新 width
height - 组件的新 height
BoxLayout:允许垂直或水平布置多个组件的布局管理器。
这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。
建议你可以多翻一下java 帮助!JAVA BorderLayout布局
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PanelRunner2 {
public static void main(String[] args)
{
JFrame frame = new JFrame("Color Panels");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1200, 1000);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setPreferredSize(new Dimension(1200, 1000));
JPanel subpanel1 = new JPanel();
subpanel1.setBackground(Color.RED);
subpanel1.setPreferredSize(new Dimension(200, 200));
panel.add(subpanel1, BorderLayout.NORTH);
JPanel panelCenter = new JPanel();
panelCenter.setLayout(new GridLayout(1,4));
JPanel subpanel2 = new JPanel();
subpanel2.setBackground(Color.WHITE);
subpanel2.setPreferredSize(new Dimension(200, 200));
panelCenter.add(subpanel2, BorderLayout.WEST);
JPanel subpanel3 = new JPanel();
subpanel3.setBackground(Color.BLUE);
subpanel3.setPreferredSize(new Dimension(200, 200));
panelCenter.add(subpanel3);
JPanel subpanel4 = new JPanel();
subpanel4.setBackground(Color.GREEN);
subpanel4.setPreferredSize(new Dimension(200, 200));
panelCenter.add(subpanel4);
JPanel subpanel5 = new JPanel();
subpanel5.setBackground(Color.YELLOW);
subpanel5.setPreferredSize(new Dimension(200, 200));
panelCenter.add(subpanel5);
panel.add(panelCenter,BorderLayout.CENTER);
JPanel subpanel6 = new JPanel();
subpanel6.setBackground(Color.ORANGE);
subpanel6.setPreferredSize(new Dimension(200, 200));
panel.add(subpanel6, BorderLayout.SOUTH);
frame.add(panel);
frame.setVisible(true);
}
}
今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...
DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...
CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...
borderlayout为你推荐
excel大写金额EXCEL金额大写pps官网pps官方网站下载pps官方正式版下载网站wow服务器状态我电脑上的魔兽服务器状态很好.但是还是玩不起来.请问可以玩了不?微信如何只发文字微信朋友圈如何只发文字,怎么发文字不要图医院排队系统医院门诊排队叫号系统多看论坛kindle哪个型号最好用driversbackup我的电脑d盘里有个Backup文件夹 怎么能让他显示出来98系统98的系统怎么安?ps文字处理请PS高手告诉我这个字体的处理步骤。yemalu最新地址围攻besiege目前最新版本是多少?还有求最新版的汉化版本谢谢!
上海域名注册 哈尔滨域名注册 免费试用vps 什么是二级域名 西安电信测速 80vps 老鹰主机 便宜域名 好看的留言 国外空间 免费静态空间 台湾谷歌网址 dux anylink 怎样建立邮箱 最好的免费空间 重庆双线服务器托管 paypal注册教程 web服务器是什么 smtp服务器地址 更多