控制台程序。

边界布局管理器最多能在容器中放置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. typescript实现react中的批次式更新

    欢迎吐槽讨论 前言 笔者在React经常使用setState,在学习过程中作笔记以作总结,欢迎讨论. 关于setState的核心观点 1 . 执行setState不都是异步的. 2 . setStat ...

  2. WebApi系列~基于RESTful标准的Web Api

    微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码 ...

  3. Consul 服务发现和配置

    Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. ...

  4. HTML元素事件说明

    blur( ) 元素失去焦点 a, input, textarea, button, select, label, map, area change( ) 用户改变域的内容 input, textar ...

  5. centos7 yum安装mysql5.7并在root密码忘记的情况下重设密码

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源   1 $ wget http://repo.mysql ...

  6. iOS应用性能调优建议

    本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/,你还可以 ...

  7. 批量导数据之利器-load data[2016-07-11]

    由于天热,中午吃完饭后不再去逛了,感觉这段时间其实也是可以利用起来的,所以决定每天中午积累一些小的知识点.今天中午,先总结一下最近造数据用到手命令,load data. 使用这个命令的起源是因为最近要 ...

  8. JS高程读书笔记-第一、二章-内附在线思维导图和quizlet卡片

    之前在kindle上买了高程,今天又到了纸质的<JavaScript语言精粹>,<高性能JavaScript>,<JavaScipt设计模式>,开始读书之旅啦. 我 ...

  9. loj 1004(dp)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25830‘ 思路:类似与数塔问题,自底向上处理,输入的时候稍微注意一 ...

  10. try-catch 示例

    package unit5; import java.util.Scanner; import javax.print.CancelablePrintJob; import javax.sound.m ...