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);
}
}
PacificRack在本月发布了几款特价产品,其中最低款支持月付仅1.5美元,基于KVM架构,洛杉矶机房,PR-M系列。PacificRack简称PR,QN机房旗下站点,主要提供低价VPS主机产品,基于KVM架构,数据中心为自营洛杉矶机房,现在只有PR-M一个系列,分为了2个类别:常规(Elastic Compute Service)和多IP产品(Multi IP Server)。下面列出几款秒...
6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...
photonvps怎么样?photonvps现在针对旗下美国vps推出半价促销优惠活动,2.5美元/月起,免费10Gbps DDoS防御,Linux系统,机房可选美国洛杉矶、达拉斯、芝加哥、阿什本。以前觉得老牌商家PhotonVPS贵的朋友可以先入手一个月PhotonVPS美国Linux VPS试试了。PhotonVPS允许合法大人内容,支持支付宝、paypal和信用卡,30天退款保证。Photo...
borderlayout为你推荐
activity跳转Java android activity间的跳转小明发布首页永久网站小明看看手机首页链接财务系统软件财务软件哪个好用,2020年财务软件排名?4k超高清视频下载为新手推荐几个获取4K片源的途径prisma安卓版Prisma安卓版能不能用各大网站有没有很好玩的网站啊暴力破解rar求暴力破解rar压缩包软件手机软件开发工具如何自己开发一个app软件webservice框架如何用webservice 的cxf框架5e5e5e如何更改bootstrap navbar的颜色 03 Topics 03 Ruby China
虚拟主机软件 免费申请域名 主机测评 bash漏洞 国外空间服务商 ssh帐号 国内加速器 丹弗 好看qq空间 静态空间 免费申请个人网站 如何用qq邮箱发邮件 网通服务器托管 gtt 四川电信商城 域名与空间 独享主机 网购分享 starry 国内域名 更多