欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java圖形化界面設(shè)計(jì)之布局管理器之BorderLayout案例詳解

 更新時(shí)間:2021年08月27日 10:53:14   作者:好名字占了  
這篇文章主要介紹了Java圖形化界面設(shè)計(jì)之布局管理器之BorderLayout案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

邊界布局管理器把容器的的布局分為五個(gè)位置:CENTER、EAST、WEST、NORTH、SOUTH。依次對(duì)應(yīng)為:上北(NORTH)、下南(SOUTH)、左西(WEST)、右東(EAST),中(CENTER),如下圖所示。

特征:

l  可以把組件放在這五個(gè)位置的任意一個(gè),如果未指定位置,則缺省的位置是CENTER。

l  南、北位置控件各占據(jù)一行,控件寬度將自動(dòng)布滿整行。東、西和中間位置占據(jù)一行;若東、西、南、北位置無(wú)控件,則中間控件將自動(dòng)布滿整個(gè)屏幕。若東、西、南、北位置中無(wú)論哪個(gè)位置沒有控件,則中間位置控件將自動(dòng)占據(jù)沒有控件的位置。

l  它是窗口、框架的內(nèi)容窗格和對(duì)話框等的缺省布局。

1、  常見的構(gòu)建函數(shù)和方法

構(gòu)造方法摘要
BorderLayout(): 構(gòu)造一個(gè)組件之間沒有間距(默認(rèn)間距為0像素)的新邊框布局。
BorderLayout(int hgap, int vgap) : 構(gòu)造一個(gè)具有指定組件(hgap為橫向間距,vgap為縱向間距)間距的邊框布局。
方法摘要
int getHgap() : 返回組件之間的水平間距。
int getVgap() : 返回組件之間的垂直間距。
void removeLayoutComponent(Component comp): 從此邊框布局中移除指定組件。
void setHgap(int hgap): 設(shè)置組件之間的水平間距。
void setVgap(int vgap) : 設(shè)置組件之間的垂直間距。

實(shí)例:

// BorderLayoutDemo.java

import javax.swing.*;

import java.awt.*;

public class BorderLayoutDemo extends JFrame {

  public BorderLayoutDemo(){        //構(gòu)造函數(shù),初始化對(duì)象值

     //設(shè)置為邊界布局,組件間橫向、縱向間距均為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"));

  }  

  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);             //讓窗體居中顯示

    }

  }

程序執(zhí)行結(jié)果如下所示:

依次注釋掉東、西、南、北和中間位置添加按鈕的語(yǔ)句,保留其它的的語(yǔ)句體會(huì)一下邊框布局的特點(diǎn)。

         如果想要更復(fù)雜的布局可以在東、西、南、北和中間位置添加中間容器,中間容器中再進(jìn)行布局,并添加相應(yīng)的組件,已達(dá)到復(fù)制補(bǔ)間的效果。

實(shí)例二:在中間位置中添加9個(gè)按鈕。

// BorderLayoutDemo1.java

import javax.swing.*;

import java.awt.*;

public class BorderLayoutDemo1 extends JFrame {

         JPanel p=new JPanel();

  public BorderLayoutDemo(){

     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"));

         //設(shè)置面板為流式布局居中顯示,組件橫、縱間距為5個(gè)像素

          p.setLayout(new FlowLayout(1,5,5));

          //使用循環(huán)添加按鈕,注意每次添加的按鈕對(duì)象名稱都是b

//但按鈕每次均是用new新生成的,所有代表不同的按鈕對(duì)象。

          for(int i=1;i<10;i++){

                    //String.valueOf(i),將數(shù)字轉(zhuǎn)換為字符串

                   JButton b=new JButton(String.valueOf(i));

                   p.add(b);           //將按鈕添加到面板中

          }

     getContentPane().add("Center",p);  //將面板添加到中間位置

  }  

  public static void main(String args[]) {

     BorderLayoutDemo1 f = new BorderLayoutDemo1();

       f.setTitle("邊界布局");

       f.pack();  //讓窗體自適應(yīng)組建大小

       f.setVisible(true);

            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            f.setLocationRelativeTo(null);             //讓窗體居中顯示

    }

  }

程序執(zhí)行效果:

到此這篇關(guān)于Java圖形化界面設(shè)計(jì)之布局管理器之BorderLayout案例詳解的文章就介紹到這了,更多相關(guān)Java BorderLayout詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于SSM框架下各層的解釋說明(Controller等)

    關(guān)于SSM框架下各層的解釋說明(Controller等)

    這篇文章主要介紹了關(guān)于SSM框架下各層的解釋說明(Controller等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 使用feign調(diào)用接口時(shí)調(diào)不到get方法的問題及解決

    使用feign調(diào)用接口時(shí)調(diào)不到get方法的問題及解決

    這篇文章主要介紹了使用feign調(diào)用接口時(shí)調(diào)不到get方法的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 如何在Spring boot加入shiro支持

    如何在Spring boot加入shiro支持

    這篇文章主要介紹了如何在Spring boot加入shiro支持,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring AOP的使用詳解

    Spring AOP的使用詳解

    這篇文章主要介紹了Spring AOP的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 基于String變量的兩種創(chuàng)建方式(詳解)

    基于String變量的兩種創(chuàng)建方式(詳解)

    下面小編就為大家?guī)?lái)一篇基于String變量的兩種創(chuàng)建方式(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-07-07
  • 利用JStack排查死鎖問題和CPU100%問題

    利用JStack排查死鎖問題和CPU100%問題

    無(wú)論是再面試過程中還是再實(shí)際項(xiàng)目開發(fā)當(dāng)中我們都有可能遇到這兩個(gè)問題如何利用JStack排查死鎖問題和CPU100%問題,文中給出了詳細(xì)的排查過程和解決方法,需要的朋友可以參考下
    2023-12-12
  • Java對(duì)zip,rar,7z文件帶密碼解壓實(shí)例詳解

    Java對(duì)zip,rar,7z文件帶密碼解壓實(shí)例詳解

    在日常業(yè)務(wù)中,會(huì)遇到一些瑣碎文件需要打包到一個(gè)壓縮包中上傳,業(yè)務(wù)方在后臺(tái)接收到壓縮包后自行解壓,然后解析相應(yīng)文件。而且可能涉及安全保密,因此會(huì)在壓縮時(shí)帶上密碼,要求后臺(tái)業(yè)務(wù)可以指定密碼進(jìn)行解壓。本文將用Java解決這一問題,需要的可以參考一下
    2022-07-07
  • Spring?Boot應(yīng)用打WAR包后無(wú)法注冊(cè)到Nacos的問題及解決方法

    Spring?Boot應(yīng)用打WAR包后無(wú)法注冊(cè)到Nacos的問題及解決方法

    當(dāng)我們將?Spring?Boot?應(yīng)用打包成?WAR?并部署到外部?Tomcat?服務(wù)器時(shí),可能會(huì)遇到服務(wù)無(wú)法注冊(cè)到?Nacos?的情況,其原因主要是應(yīng)用獲取不到正確的服務(wù)器端口,下面給大家介紹Spring?Boot?應(yīng)用打?WAR?包后無(wú)法注冊(cè)到?Nacos的問題及解決方法,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Java狀態(tài)機(jī)的一種優(yōu)雅寫法分享

    Java狀態(tài)機(jī)的一種優(yōu)雅寫法分享

    狀態(tài)機(jī)是一種數(shù)學(xué)模型,對(duì)于我們業(yè)務(wù)實(shí)現(xiàn)有很大的幫助。我們可以用非常多的方法實(shí)現(xiàn)狀態(tài)機(jī),這篇文章就來(lái)介紹一個(gè)狀態(tài)機(jī)優(yōu)雅的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助
    2023-04-04
  • MyBatis通用Mapper中的通用example(排序)詳解

    MyBatis通用Mapper中的通用example(排序)詳解

    這篇文章主要介紹了MyBatis通用Mapper中的通用example(排序)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論