亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java Swing組件布局管理器之FlowLayout(流式布局)入門教程

 更新時間:2017年11月15日 09:03:17   作者:pzy4447  
這篇文章主要介紹了Java Swing組件布局管理器之FlowLayout(流式布局),結(jié)合實例形式分析了Swing組件布局管理器FlowLayout流式布局的常用方法及相關(guān)使用技巧,需要的朋友可以參考下

本文實例講述了Java Swing組件布局管理器之FlowLayout(流式布局)。分享給大家供大家參考,具體如下:

FlowLayout應(yīng)該是Swing布局管理器學(xué)習(xí)中最簡單、最基礎(chǔ)的一個。所謂流式,就是內(nèi)部控件像水流一樣,從前到后按順序水平排列,直到達到容器的寬度時跳轉(zhuǎn)到第二行。既然是水平排列,那么就存在三種基本的對齊方式:居中對齊(CENTER )、左對齊(LEFT )和右對齊(RIGHT )。然而,F(xiàn)lowLayout還提供兩種對齊方式:LEADING,表示控件與容器方向開始邊對應(yīng);TRAILING,控件與容器方向結(jié)束邊對應(yīng)。setAlignment(int align)用于設(shè)置對齊方式。在一般情況下,LEADING就是左對齊,TRAILING就是右對齊。除此之外,F(xiàn)lowLayout還可以對內(nèi)部控件之間、內(nèi)部控件與容器之間的間距進行設(shè)置,setHgap(int hgap)用于指定水平間距;setVgap(int vgap)用于指定垂直間距。

FlowLayout常用方法如下:

構(gòu)造函數(shù)

名稱

用途

FlowLayout()

構(gòu)造一個新的 FlowLayout,它是默認居中對齊的,默認的水平和垂直間隙是5個像素

FlowLayout(int align)

構(gòu)造一個新的 FlowLayout,它具有指定的對齊方式,默認的水平和垂直間隙是 5 個像素

五個參數(shù)值及含義如下:

0或FlowLayout.lEFT ,控件左對齊

1或FlowLayout.CENTER ,居中對齊

2或FlowLayout.RIGHT ,右對齊

3或FlowLayout.LEADING,控件與容器方向開始邊對應(yīng)

4或FlowLayout.TRAILING,控件與容器方向結(jié)束邊對應(yīng)

如果是0、1、2、3、4之外的整數(shù),則為左對齊

FlowLayout(int align, int hgap, int vgap)

創(chuàng)建一個新的流布局管理器,它具有指定的對齊方式以及指定的水平和垂直間隙。

基本方法

名稱

用途

Void setAlignment(int align)

設(shè)置此布局的對齊方式。

void setHgap(int hgap)

設(shè)置組件之間以及組件與 Container 的邊之間的水平間隙。

void setVgap(int vgap)

設(shè)置組件之間以及組件與 Container 的邊之間的垂直間隙。


測試用例如下:

package awtDemo;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/*
 * @功能:演示FlowLayout布局管理器的用法
 * @版本:20150609
 */
@SuppressWarnings("serial")
public class FlowLayoutDemo extends JFrame {
 FlowLayout contentPanelLayout = new FlowLayout();
 Map<String, Integer> alignmentMap = new HashMap<String, Integer>();
 JPanel configPanel = new JPanel();
 JPanel contentPanel = new JPanel();
 JComboBox<String> alignmentComboBox = new JComboBox<String> ();
 JTextField textHgap = new JTextField("10");
 JTextField textVgap = new JTextField("20");
 MyListener myListener = new MyListener();
 public FlowLayoutDemo() {
 //init
 alignmentMap.put("LEFT", 0);
 alignmentMap.put("CENTER", 1);
 alignmentMap.put("RIGHT", 2);
 alignmentMap.put("LEADING", 3);
 alignmentMap.put("TRAILING", 4);
 //設(shè)置面板
 configPanel.setLayout(new FlowLayout());
 configPanel.add(new JLabel("對齊方式"));
 for (String alignment : alignmentMap.keySet()) {
 alignmentComboBox.addItem(alignment);
 }
 configPanel.add(alignmentComboBox);
 configPanel.add(new JLabel("水平間距"));
 configPanel.add(textHgap);
 configPanel.add(new JLabel("垂直間距"));
 configPanel.add(textVgap);
 JButton actionBtn = new JButton("Action!!!");
 actionBtn.addActionListener(myListener);
 configPanel.add(actionBtn);
 //展示面板
 contentPanel.setLayout(contentPanelLayout);
 contentPanel.add(new JButton("Button 1"));
 contentPanel.add(new JButton("Button 2"));
 contentPanel.add(new JButton("Button 3"));
 contentPanel.add(new JButton("Button 4"));
 //主窗體
 setLayout(new BorderLayout());
 add("North",configPanel);
 add("South", contentPanel);
 }
 class MyListener implements ActionListener
 {
 public void actionPerformed(ActionEvent e)
 {
 String alignmentStr = alignmentComboBox.getSelectedItem().toString();
 int alignment = alignmentMap.get(alignmentStr);
 contentPanelLayout.setAlignment(alignment);
 int hgap = Integer.valueOf(textHgap.getText());
 int vgap = Integer.valueOf(textVgap.getText());
 contentPanelLayout.setHgap(hgap);
 contentPanelLayout.setVgap(vgap);
 contentPanel.updateUI();
 }
 }
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 FlowLayoutDemo window = new FlowLayoutDemo();
 window.setTitle("FlowLayoutDemo - chabaoo.cn");
 // 該代碼依據(jù)放置的組件設(shè)定窗口的大小使之正好能容納你放置的所有組件
 window.setPreferredSize(new Dimension(500, 200));
 window.pack();
 window.setVisible(true);
 window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 window.setLocationRelativeTo(null); // 讓窗體居中顯示
 }
}

運行效果如下:

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java字符與字符串操作技巧總結(jié)》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • 詳解Spring Cloud Feign 熔斷配置的一些小坑

    詳解Spring Cloud Feign 熔斷配置的一些小坑

    這篇文章主要介紹了詳解Spring Cloud Feign 熔斷配置的一些小坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 關(guān)于spring中bean注冊的優(yōu)先級分析

    關(guān)于spring中bean注冊的優(yōu)先級分析

    Spring框架中,Bean的定義方式主要有三種:XML定義、注解掃描和配置類中的@Bean注解,在Bean注冊過程中,XML定義的GenericBeanDefinition優(yōu)先級最高
    2024-09-09
  • java實現(xiàn)的MD5摘要算法完整實例

    java實現(xiàn)的MD5摘要算法完整實例

    這篇文章主要介紹了java實現(xiàn)的MD5摘要算法,結(jié)合完整實例形式分析了java實現(xiàn)md5單項加密的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • MySql多表查詢 事務(wù)及DCL

    MySql多表查詢 事務(wù)及DCL

    這篇文章主要介紹了MySql多表查詢 、事務(wù)、DCL的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • 基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng)

    基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng)

    最近想做一個關(guān)于文件上傳的個人小網(wǎng)盤,一開始嘗試使用了OSS的方案,但是該方案對于大文件來說并不友好,所以開始嘗試分片上傳方案的探索,接下來小編給大家詳細的介紹一下如何基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng),需要的朋友可以參考下
    2023-12-12
  • SpringBoot實現(xiàn)分庫分表

    SpringBoot實現(xiàn)分庫分表

    這篇文章主要介紹了SpringBoot實現(xiàn)分庫分表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java基于AspectJ(面向切面編程)編碼示例分享

    java基于AspectJ(面向切面編程)編碼示例分享

    AspectJ是一種面向切面程序設(shè)計的基于Java的實現(xiàn),下面對過示例學(xué)習(xí)他的使用方法,需要的朋友可以參考下
    2014-02-02
  • Mybatis 返回值類型和參數(shù)傳遞的配置方法

    Mybatis 返回值類型和參數(shù)傳遞的配置方法

    在 MyBatis 中,返回值類型和參數(shù)傳遞是 Mapper 接口中至關(guān)重要的兩個方面,正確理解和使用它們可以幫助我們高效、準確地進行數(shù)據(jù)庫操作,接下來通過本文給大家介紹Mybatis 返回值類型和參數(shù)傳遞的配置方法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Java基礎(chǔ)MAC系統(tǒng)下IDEA連接MYSQL數(shù)據(jù)庫JDBC過程

    Java基礎(chǔ)MAC系統(tǒng)下IDEA連接MYSQL數(shù)據(jù)庫JDBC過程

    最近一直在學(xué)習(xí)web項目,當(dāng)然也會涉及與數(shù)據(jù)庫的連接這塊,這里就總結(jié)一下在IDEA中如何進行MySQL數(shù)據(jù)庫的連接,這里提一下我的電腦是MAC系統(tǒng),使用的編碼軟件是IDEA,數(shù)據(jù)庫是MySQL
    2021-09-09
  • mybatisplus where QueryWrapper加括號嵌套查詢方式

    mybatisplus where QueryWrapper加括號嵌套查詢方式

    這篇文章主要介紹了mybatisplus where QueryWrapper加括號嵌套查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01

最新評論