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);
}
}
virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...
bgp.to在对日本东京的独立服务器进行6.5折终身优惠促销,低至$120/月;对新加坡独立服务器进行7.5折终身优惠促销,低至$93/月。所有服务器都是直连国内,速度上面相比欧洲、美国有明显的优势,特别适合建站、远程办公等多种用途。官方网站:https://www.bgp.to/dedicated.html主打日本(东京、大阪)、新加坡、香港(CN)、洛杉矶(US)的服务器业务!日本服务器CPU...
很久没有分享PhotonVPS的消息,最近看到商家VPS主机套餐有一些更新所以分享下。这是一家成立于2008年的国外VPS服务商,Psychz机房旗下的站点,主要提供VPS和独立服务器等,数据中心包括美国洛杉矶、达拉斯、芝加哥、阿什本等。目前,商家针对Cloud VPS提供8折优惠码,优惠后最低2G内存套餐每月4美元起。下面列出几款主机配置信息。CPU:1core内存:2GB硬盘:30GB NVm...
borderlayout为你推荐
windowsmedia为什么打开所有程序都出现Windows Media Playerprisma安卓版kovo安卓版的哪有下载?爱短信官网官方飞信,ET飞信,爱短信飞信插件哪个好用??视频托管我想做一些游戏教学视频,放到网上收费该可以吗?各大网站有没有很好玩的网站啊avc是什么格式格式工厂转的[AS3 720 AVC]mp4是什么格式pps官网pps软件下载中心 pps影视软件下载pat是什么格式怎么能把常用格式的图片转换成PAT格式的呀~5e5e5e如何更改bootstrap navbar的颜色 03 Topics 03 Ruby Chinanetbios协议NetBIOS协议起什么作用?
国际域名抢注 vps代购 域名停靠一青草视频 万网免费域名 七牛优惠码 warez 视频存储服务器 天互数据 服务器维护方案 工信部icp备案号 傲盾官网 paypal注册教程 drupal安装 最漂亮的qq空间 服务器是干什么用的 视频服务器是什么 英国伦敦 美国盐湖城 shuangcheng 海外加速 更多