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

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

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

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

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

FlowLayout常用方法如下:

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

名稱

用途

FlowLayout()

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

FlowLayout(int align)

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

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

0或FlowLayout.lEFT ,控件左對(duì)齊

1或FlowLayout.CENTER ,居中對(duì)齊

2或FlowLayout.RIGHT ,右對(duì)齊

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

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

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

FlowLayout(int align, int hgap, int vgap)

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

基本方法

名稱

用途

Void setAlignment(int align)

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

void setHgap(int hgap)

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

void setVgap(int vgap)

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


測(cè)試用例如下:

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("對(duì)齊方式"));
 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); // 讓窗體居中顯示
 }
}

運(yùn)行效果如下:

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    SpringBoot實(shí)現(xiàn)分庫(kù)分表

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

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

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

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

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

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

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

    mybatisplus where QueryWrapper加括號(hào)嵌套查詢方式

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

最新評(píng)論