控制台程序。

边界布局管理器最多能在容器中放置5个组件。在这种布局管理器中,可以把组件放在容器的任意一个边界上,也可以把组件放在容器的中心。每个位置只能放置一个组件。如果把组件放置在已被占用的边界上,前一个组件就会被取代。要选择边界,应指定约束,约束可以是NORTH、SOUTH、EAST、WEST或CENTER。它们都是BorderLayout类中定义的final static常量。

 import javax.swing.*;
 import javax.swing.SwingUtilities;
 import java.awt.*;
 import javax.swing.border.EtchedBorder;

 public class TryBorderLayout {

   public static void createWindow(){
     JFrame aWindow = new JFrame("This is the Window Title");
     Toolkit theKit = aWindow.getToolkit();                             // Get the window toolkit
     Dimension wndSize = theKit.getScreenSize();                        // Get screen size

     // Set the position to screen center & size to half screen size
     aWindow.setSize(wndSize.width/2, wndSize.height/2);                // Set window size
     aWindow.setLocationRelativeTo(null);                               // Center window
     aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     BorderLayout border = new BorderLayout();                          // Create a layout manager
     Container content = aWindow.getContentPane();                      // Get the content pane
     content.setLayout(border);                                         // Set the container layout mgr
     EtchedBorder edge = new EtchedBorder(EtchedBorder.RAISED);         // Button border

     // Now add five JButton components and set their borders
     JButton button;
     content.add(button = new JButton("EAST"), BorderLayout.EAST);
     button.setBorder(edge);
     content.add(button = new JButton("WEST"), BorderLayout.WEST);
     button.setBorder(edge);
     content.add(button = new JButton("NORTH"), BorderLayout.NORTH);
     button.setBorder(edge);
     content.add(button = new JButton("SOUTH"), BorderLayout.SOUTH);
     button.setBorder(edge);
     content.add(button = new JButton("CENTER"), BorderLayout.CENTER);
     button.setBorder(edge);

     aWindow.setVisible(true);                                          // Display the window
   }

   public static void main(String[] args) {
     SwingUtilities.invokeLater(new Runnable() {
             public void run() {
                 createWindow();
             }
         });
   }
 }

Java基础之创建窗口——使用边界布局管理器(TryBorderLayout)的更多相关文章

  1. Java基础之创建窗口——使用网格布局管理器(TryGridLayout)

    控制台程序. 网格布局管理器可以在容器的矩形网格中布局组件. import javax.swing.*; import java.awt.*; import javax.swing.border.Et ...

  2. Java基础之创建窗口——使用卡片布局管理器(TryCardLayout)

    控制台程序. 卡片布局管理器会生成一叠组件——一个组件放在另一个组件的上面.添加到容器中的第一个组件在堆栈的顶部,因此是可见的,添加的最后一个组件在堆栈的底部.使用默认的构造函数CardLayout( ...

  3. JAVA 边界布局管理器

    //边界布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian1 extends JFrame{ //定义组件 JBut ...

  4. java边界布局管理器

    public class BorderLayoutPosition extends JFrame{        String[] border={BorderLayout.CENTER,Border ...

  5. Java基础之创建窗口——使用GridBagLayout管理器(TryGridBagLayout)

    控制台程序. java.awt.GridBagLayout管理器比前面介绍的其他布局管理器灵活得多,因此使用起来也比较复杂.基本机制就是在随意的矩形网格中布局组件,但网格的行和列不一定拥有相同的高度和 ...

  6. Java基础之创建窗口——使用BoxLayout管理器(TryBoxLayout4)

    控制台程序. javax.swing.BoxLayout类定义的布局管理器在单行或单列中布局组件.创建BoxLayout对象时,需要指定是在行还是列中布局组件. 对于行,组件是从左到右地添加:对于列, ...

  7. Java基础之创建窗口——使用SpringLayout管理器(TrySpringLayout)

    控制台程序. 可以把JFrame对象aWindow的内容面板的布局管理器设置为javax.swing.SpringLayout管理器. SpringLayout类定义的布局管理器根据javax.swi ...

  8. Java基础之创建窗口——使用流布局管理器(TryFlowLayout)

    控制台程序. FlowLayout把组件放在容器的连续行中,使每一行都放置尽可能多的组件.如果某行已满,就放在下一行.工作方式类似于文本处理器把单词放在行中.主要用途是放置按钮,但也可以用来放置其他组 ...

  9. Java基础之创建窗口——向窗口中添加菜单(Sketcher)

    控制台程序. JMenuBar对象表示放在窗口顶部的菜单栏.可以为JMenuBar对象添加JMenu或JMenuItem对象,它们都显示在菜单栏上.JMenu对象是带有标签的菜单,单击就可以显示一列菜 ...

随机推荐

  1. 深入浅出node(1) Node简介

    这一系列主要是自己在学习深入浅出node.js这本书的学习笔试,部分加入了自己的一些理解 分享给一起学习node的小伙伴 自己还是个初学者 有很多地方理解的不到位 一起交流 一 什么是node 1.1 ...

  2. Windows Azure HandBook (3) 浅谈Azure安全性

    <Windows Azure Platform 系列文章目录> 2015年3月5日-6日,参加了上海的Azure University活动.作为桌长与微软合作伙伴交流了Azure相关的技术 ...

  3. 不可或缺 Windows Native (19) - C++: 对象的动态创建和释放, 对象的赋值和复制, 静态属性和静态函数, 类模板

    [源码下载] 不可或缺 Windows Native (19) - C++: 对象的动态创建和释放, 对象的赋值和复制, 静态属性和静态函数, 类模板 作者:webabcd 介绍不可或缺 Window ...

  4. 【BZOJ 4598】【SDOI 2016 Round2 Day1 T3】模式字符串

    2016-05-21因为BZOJ上“ 数据文件太过巨大,仅提供前三组数据测试.”所以我考场上写的60分的点分治交上去也A了. 我的这个点分治的时间复杂度是$O(Tnmlogn)$的,听题解时没听懂$O ...

  5. vm centos 添加网卡 无配置文件

    vm centos 添加网卡 无配置文件 解决办法 [root@test ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:C8:41:FB ...

  6. DHCP的若干原理解释

    转自:http://blog.chinaunix.net/uid-22287947-id-1775641.html 搜罗了几种关于dhcp的原理和过程解释 DHCP(Dynamic Host Conf ...

  7. 【WPF】Winform调用WPF窗体注意事项

     1.需要添加一些引用 2.调用处使用如下方法进行调用 Window win= new Window(); ElementHost.EnableModelessKeyboardInterop(win) ...

  8. 《MORE EFFECTIVE C++》条款27 要求或者禁止对象分配在堆上

    1. 要求对象分配在堆上 临时对象一般是存在于栈中的,或者是静态对象存在于常量存储区的.那么当创建一个这样的对象的时候,一般是需要隐式或显式地调用构造函数,在销毁的时候调用析构函数的.可以从这方面入手 ...

  9. openstack(liberty):部署实验平台(二,简单版本软件安装 part2)

    继续前面的part1,将后续的compute以及network部分的安装过程记录完毕! 首先说说compute部分nova的安装. n1.准备工作.创建数据库,配置权限!(密码依旧是openstack ...

  10. ubuntu14.04配置Hive1.2.1

    1.添加环境变量:vi ~/.bashrc #HIVE VARIABLES START export HIVE_HOME=/usr/local/hive-1.2.1 export PATH=$PATH ...