-
2021-03-14 23:00:19
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BorderLayoutDemo extends JFrame implements ActionListener{
/**
* @param args
*/
private JButton buttons[];
private final String names[]={"North","South","East","West","Center"};
private Container container;
private BorderLayout layout;
public BorderLayoutDemo(){
super("BorderLayout 的布局管理");
layout=new BorderLayout(5,5);
container=getContentPane();
container.setLayout(layout);
setSize(500,200);
setVisible(true);
buttons=new JButton[names.length];
for(int count=0;count
buttons[count]=new JButton(names[count]);
buttons[count].addActionListener(this);
}
container.add(buttons[0], BorderLayout.NORTH);
container.add(buttons[1], BorderLayout.SOUTH);
container.add(buttons[2], BorderLayout.EAST);
container.add(buttons[3], BorderLayout.WEST);
container.add(buttons[4], BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e){
for(int count=0;count
if(e.getSource()==buttons[count])
buttons[count].setVisible(false);
else
buttons[count].setVisible(true);
layout.layoutContainer(container);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
BorderLayoutDemo application = new BorderLayoutDemo();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
更多相关内容 -
JavaSwing BorderLayout 边界布局的实现代码
2020-08-25 08:03:59主要介绍了JavaSwing BorderLayout 边界布局的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
边界布局——BorderLayout
2016-08-18 00:34:02简洁易懂的java高级基础部分:边界布局BorderLayout -
java:布局方法(边界布局)
2020-11-14 23:10:24边界布局简单引导 简单引导一、简单引导
边界布局,各组件(这里用“按钮”)分布在窗体的东、西、南、北边,除此中间部分也一同归并到边界布局。附图效果便一目了然,如下图:
二、流程图
- 从创建窗体到最后边界布置的流程图。本篇的用“按钮”展示效果。详细窗体内容可以浏览同专栏的博文。
三、例子
1. 情况1
在窗体布置东、西、南、北、中布置按钮。
(1)源码A
/**所想: 边界布局 Border(边界) */ import java.awt.BorderLayout;// 边界布局 import java.awt.Container;// 容器 import javax.swing.*;// 窗体 class Demo extends JFrame{ public Demo(){ setBounds(40,30,320,180);// 窗体坐标、长宽 setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击×程序停止运行 Container c=getContentPane();// 添加容器c c.setLayout(new BorderLayout());// 设置边界布局放于容器c中;Border(边界) // 创建按钮b_1,标签名诶“按钮-中”,后面b_2等以此类推 JButton b_1=new JButton("按钮(中1)"), b_2=new JButton("按钮(东)"), b_3=new JButton("按钮(西)"), b_4=new JButton("按钮(南)"), b_5=new JButton("按钮(北)"); c.add(b_1,BorderLayout.CENTER);// 将按钮b_1添加到窗体中部;center(中) c.add(b_2,BorderLayout.EAST);// 将按钮b_2添加到窗体东部;east(东) c.add(b_3,BorderLayout.WEST);// west(西) c.add(b_4,BorderLayout.SOUTH);// south(南) c.add(b_5,BorderLayout.NORTH);// north(北) setVisible(true);// 窗体是否可见 } public static void main(String[] args){ new Demo(); } }
(2)源码A运行效果
2. 情况2
前边代码A的中间部分代码为“中1”,现在在原有代码基础上添加一个中间按钮“中2”,则“中1”便会被“中2”替代。
(1)源码B
/**所想: 边界布局 Border(边界) */ import java.awt.BorderLayout;// 边界布局 import java.awt.Container;// 容器 import javax.swing.*;// 窗体 class Demo extends JFrame{ public Demo(){ setBounds(40,30,320,180);// 窗体坐标、长宽 setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击×程序停止运行 Container c=getContentPane();// 添加容器c c.setLayout(new BorderLayout());// 设置边界布局放于容器c中;Border(边界) // 创建按钮b_1,标签名诶“按钮-中”,后面b_2等以此类推 JButton b_1=new JButton("按钮(中1)"), b_2=new JButton("按钮(东)"), b_3=new JButton("按钮(西)"), b_4=new JButton("按钮(南)"), b_5=new JButton("按钮(北)"); c.add(b_1,BorderLayout.CENTER);// 将按钮b_1添加到窗体中部;center(中) c.add(b_2,BorderLayout.EAST);// 将按钮b_2添加到窗体东部;east(东) c.add(b_3,BorderLayout.WEST);// west(西) c.add(b_4,BorderLayout.SOUTH);// south(南) c.add(b_5,BorderLayout.NORTH);// north(北) // 在原有位置比如“中”再添加一个按钮中2,则原来中1就会被中2覆盖显示 c.add(new JButton("按钮(中2)"),BorderLayout.CENTER); setVisible(true);// 窗体是否可见 } public static void main(String[] args){ new Demo(); } }
(2)源码B运行效果
3. 情况3
前边源码A运行效果下的中间按钮为按钮“中1”,如果把关于中间的代码注释掉,运行效果的变化也只是取消中间部分的按钮,中间位置处于被未被使用状态。
(1)源码C
/**所想: 边界布局 Border(边界) */ import java.awt.BorderLayout;// 边界布局 import java.awt.Container;// 容器 import javax.swing.*;// 窗体 class Demo extends JFrame{ public Demo(){ setBounds(40,30,320,180);// 窗体坐标、长宽 setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击×程序停止运行 Container c=getContentPane();// 添加容器c c.setLayout(new BorderLayout());// 设置边界布局放于容器c中;Border(边界) // 创建按钮b_1,标签名诶“按钮-中”,后面b_2等以此类推 JButton //b_1=new JButton("按钮(中1)"), b_2=new JButton("按钮(东)"), b_3=new JButton("按钮(西)"), b_4=new JButton("按钮(南)"), b_5=new JButton("按钮(北)"); //c.add(b_1,BorderLayout.CENTER);// 将按钮b_1添加到窗体中部;center(中) c.add(b_2,BorderLayout.EAST);// 将按钮b_2添加到窗体东部;east(东) c.add(b_3,BorderLayout.WEST);// west(西) c.add(b_4,BorderLayout.SOUTH);// south(南) c.add(b_5,BorderLayout.NORTH);// north(北) setVisible(true);// 窗体是否可见 } public static void main(String[] args){ new Demo(); } }
(2)源码C运行效果
四、定位日期
2021.4.20;22:16
-
Java Swing面板布局之边界布局BorderLayout
2022-01-22 14:36:26边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、NORTH、SOUTH。依次对应为:上北(NORTH)、下南(SOUTH)、左西(WEST)、右东(EAST),中(CENTER),如下图所示。 特征: 可以把组件放在这...一、简介
边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、NORTH、SOUTH。依次对应为:上北(NORTH)、下南(SOUTH)、左西(WEST)、右东(EAST),中(CENTER),如下图所示。
特征:
- 可以把组件放在这五个位置的任意一个,如果未指定位置,则缺省的位置是CENTER。
- 南、北位置控件各占据一行,控件宽度将自动布满整行。东、西和中间位置占据一列;若东、西、南、北位置无控件,则中间控件将自动布满整个屏幕。若东、西、南、北位置中无论哪个位置没有控件,则中间位置控件将自动占据没有控件的位置。
- 它是窗口、框架的内容窗格和对话框等的缺省布局。
二、构造函数
BorderLayout(): 构造一个组件之间没有间距(默认间距为0像素)的新边框布局。
BorderLayout(int hgap, int vgap) : 构造一个具有指定组件(hgap为横向间距,vgap为纵向间距)间距的边框布局。
三、常用方法
int getHgap():返回组件之间的水平间距。
int getVgap():返回组件之间的垂直间距。
void removeLayoutComponent(Component comp):从此边框布局中移除指定组件。
void setHgap(int hgap):设置组件之间的水平间距。
void setVgap(int vgap):设置组件之间的垂直间距。
四、举例
import javax.swing.*;
import java.awt.*;
public class BorderLayoutDemo extends JFrame {
public static void main(String args[]) {
BorderLayoutDemo f = new BorderLayoutDemo();
f.setTitle("边界布局");
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
}
private static final long serialVersionUID = 1L;
// 构造函数,初始化对象值
public BorderLayoutDemo() {
// 设置为边界布局,组件间横向、纵向间距均为5像素
setLayout(new BorderLayout(5, 5));
setFont(new Font("Helvetica", Font.PLAIN, 14));
getContentPane().add("North", new JButton("North")); // 将按钮添加到窗口中
getContentPane().add("South", new JButton("South"));
getContentPane().add("East", new JButton("East"));
getContentPane().add("West", new JButton("West"));
getContentPane().add("Center", new JButton("Center"));
}
}
-
Java开发GUI之BorderLayout边界布局
2021-03-17 11:44:30Java开发GUI之BorderLayout边界布局前面博客中所提及的例子都是针对单独的视图组件,将组件组合并布局在合适的位置才能算是完整的界面。Java中的布局采用布局管理器模式进行,提供了跨平台性,BoaderLayout布局管理...Java开发GUI之BorderLayout边界布局
前面博客中所提及的例子都是针对单独的视图组件,将组件组合并布局在合适的位置才能算是完整的界面。Java中的布局采用布局管理器模式进行,提供了跨平台性,BoaderLayout布局管理器会将其内容分成5个部分,上下左右和中心,示例代码如下:
static void BorderLayoutTest(){
Frame frame = new Frame("Label");
BorderLayout layout = new BorderLayout(10,15);
Panel pannel = new Panel(layout);
pannel.add(BorderLayout.NORTH, new Button("北方"));
pannel.add(BorderLayout.SOUTH, new Button("南方"));
pannel.add(BorderLayout.EAST, new Button("东方"));
pannel.add(BorderLayout.WEST, new Button("西方"));
pannel.add(BorderLayout.CENTER, new Button("中心"));
frame.add(pannel);
frame.pack();
frame.show();
}
效果如下:
BorderLayout中常用方法解析:
//常量 指定布局在北方位置
public static final String NORTH = "North";
//常量 指定布局在南方位置
public static final String SOUTH = "South";
//常量 指定布局在东方位置
public static final String EAST = "East";
//常量 指定布局在西方位置
public static final String WEST = "West";
//常量 指定布局在中心位置
public static final String CENTER = "Center";
//初始化方法 默认无间距
public BorderLayout();
//初始化方法 hgap设置水平间距 vgap设置垂直间距
public BorderLayout(int hgap, int vgap);
//获取水平间距
public int getHgap();
//设置水平间距
public void setHgap(int hgap);
//获取垂直间距
public int getVgap();
//设置垂直间距
public void setVgap(int vgap);
除了上面的方法,布局管理器相关类中都实现了添加组件的方法,这些方法一般开发者是不需要调用到的,当向容器中添加组件时,容器会用其对应的布局管理器来调用这些方法进行布局。
-
Java~GUI(图形用户界面一)AWT概述、布局管理器(流式布局、边界布局、网格布局、精确布局),实现计算器...
2020-12-20 23:16:20GUI即图形用户界面,就是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种图形界面元素。 Java对GUI提供了丰富类库,分别位于java.awt和javax.swing包中,其中AWT不可跨平台,而Swing可以... -
java布局管理器---BorderLayout(边界布局管理器)
2021-08-21 16:42:59BorderLayout(边界布局管理器)、BoxLayout(箱式布局管理器)、CardLayout(卡片布局管理器)、FlowLayout(流式布局管理器)、GridBagLayout(网格包布局管理器)、GridLayout(网格布局管理器)、GroupLayout(分组布局管理器... -
4 流布局 FlowLayout & 边界布局 BorderLayout & 卡片布局 CardLayout
2021-01-08 21:14:36流布局 FlowLayout 流布局 FlowLayout: 默认地,自左向右逐个排列 当一行排满时,自动排到下一行 setPreferredSize(); //设置每个控件的尺寸,这个方法继承自JComponent 可以选择居左、居右、居中对齐:...边界布局 B -
Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局
2021-02-12 10:53:16流布局:FlowLayout构造方法:FlowLayout()构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位。FlowLayout(int align)构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直... -
Swing边界布局管理器演示和笔记
2020-03-19 14:12:22java一共提供了五种布局管理器,流式布局管理器(FlowLayout),边界布局管理器(BorderLayout),网格布局管理器(GridLayout),卡片布局管理器,网格布局管理器。 边界布局管理器 BorderLayout将容器划分为东西南北... -
Java布局管理学习--边界布局管理器
2014-07-04 15:37:45可以帮助Java学习者深入了解边界布局管理器 -
java swing 常用的三种布局方式:边界布局、流布局、网格布局管理器
2018-09-18 18:46:42作者:firstmiki ...来源:firstmiki的博客 著作权归作者所有,转载请联系作者获得授权。...一、 边界布局管理器(FlowLayout) /* * 功能:演示边界布局管理器:组件的位置和大小 */ package GU... -
Java学习笔记--GUI之AWT-布局(流式布局、表格布局、边界布局)及嵌套练习
2020-05-13 14:53:24流式布局 import java.awt.*; public class TestFlowLayout { public static void main(String[] args) { Frame frame=new Frame(); //组件--按钮 Button button1=new Button("按钮1"); Button button2=new ... -
JAVA中边界布局管理器
2019-10-09 19:46:35边界布局管理器可以将容器划分为东、南、西、北、中5个区域,可以将组件加入到这5个区域中。容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域,区域的控制可以由BorderLayout类中的... -
JavaGUI——布局管理器基础(一)边界布局BorderLayout
2018-05-27 16:41:04种类:Java共提供了五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayou... -
Java边界布局管理器[归类].pdf
2021-10-11 03:43:29Java边界布局管理器[归类].pdf -
Java 边界布局
2018-06-27 22:58:27一、 边界布局管理器(FlowLayout) 1 /* 2 * 功能:演示边界布局管理器:组件的位置和大小 3 */ 4 package GUI; 5 6 import java.awt.BorderLayout; 7 8 import javax.swing.JButton; 9 import javax.... -
Java-Swing- BorderLayout() 边界布局
2020-11-09 22:01:04Java-Swing- BorderLayout() 边界布局: package com.etc.layoutmanage; import javax.swing.*; import java.awt.*; /** * BorderLayout: 边界布局 * * 把容器分为上、下、左、右、中、五个区域 * * ... -
Java面向对象笔记3|BorderLayout边界布局管理器
2022-01-08 11:32:47BorderLayout边界布局管理器 -
边界布局管理器
2018-06-07 22:51:14package swing;import java.awt.BorderLayout;import java.awt.Container;import javax.swing.JButton;import javax.swing.JFrame;.../* * 边界布局管理器 * 在默认不指定窗体布局的情况下,Swing组件的布局模式是... -
Java——边界布局案例
2018-07-21 14:53:33this.setTitle("边界布局案例"); this.setSize(300,200); this.setLocation(2000,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示窗体 this.setVisible(true); } } -
java常用布局管理器(流布局管理器、边界布局管理器、网格布局管理器)
2019-12-16 16:58:23在Swing中,每个组件在容器中都有一个具体的位置大小、而在...Swing提供的常用布局管理器有FlowLayout流布局管理器、BorderLayout边界布局管理器和GridLayout网格布局管理器,这些布局管理器位于java.awt包中。下面... -
java边界布局管理器(内含代码)
2014-05-21 16:33:21java边界布局管理器小例 适合初学者,代码准确,难度适中 -
java 设置窗体以及窗体的布局,Jframe默认的布局为边界布局,其他布局:流式布局、网格布局
2020-05-15 20:52:52//JFrame默认的布局是边界布局,因此不用通过方法指定 /* //每个区域只能放置一个组件,如果向一个区域中添加多个组件时,后方入的会覆盖之前放入的 add(b1); add(b2); add(b3); add(b4); add(b5); */ /* //... -
BorderLayout(边界布局)
2019-09-27 12:54:10BorderLayout(边界布局) 转载于:https://www.cnblogs.com/trnanks/p/10667343.html -
GUI流式布局、边界布局、网格布局
2017-03-21 09:50:20一个GUI程序,只可以有一个JFrame窗体组件,但...边界布局管理器(东西南北中);网格布局管理器; 卡边布局管理器;网格包布局管理器 // int转String String.valueOf(i); // 设置窗体是否允许改变大小 this.set... -
Java——BorderLayout(边界布局)
2020-03-31 11:21:47在写java图形化界面时,遇到BorderLayout布局遇到一个小问题,折腾了半天,发现是没有好好理解BorderLayout的用法。下面来记录一下: 问题: 在布局时,很自然的从 北——>中——>南 依次布局,于是添加下面... -
JAVA Swing布局:流布局...边界布局BorderLayout;网格布局GridLayout;网格组布局管理器GridBagLayout
2020-01-11 16:12:27流布局 FlowLayout 从左向右排列 默认居中对齐(像流水一样 向某个方向流动 遇到障碍就折回) 运行效果: 注意红色箭头的方向 从左至右排列 位置不足就另起一行继续从左至右(若拖动改变窗口大小 就会排列),... -
5、JavaSwing 布局管理器——BorderLayout(边界布局)
2020-10-11 22:47:15BorderLayout,边界布局管理器。 它把 Container 按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。 BorderLayout 构造方法: // 构造一个组件之间没有间距的新边框布局 BorderLayout...