最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java彈簧布局管理器使用方法詳解

 更新時間:2017年09月04日 10:17:14   投稿:mengwei  
這篇文章主要介紹了Java彈簧布局管理器使用方法詳解,需要的朋友可以參考下

        由 SpringLayout 類實現(xiàn)的布局管理器稱為彈簧布局管理器。利用該布局管理器管理組件,當改變窗體的大小時,能夠在不改變組件間相對位置的前提下自動調整組件大小,使組件依舊布滿整個窗體,從而保證了窗體的整體效果。下面,通過一個實例來看看彈簧布局管理器的使用方法和效果。

        彈簧布局管理器以容器和組件的邊緣為操作對象,通過為組件和容器邊緣以及組件和組件邊緣建立約束,實現(xiàn)對組件布局的管理。通過方法 putConstraint(String e1,Conponet c1,int pad,String e2,Componet c2)可以為各邊之間建立約束,該方法的入口參數(shù)說明如下:

c1:需要參考的組件對象;

c2:需要參考的組件對象的具體需要參考的邊;

e1:被參考的組件對象;

e2:被參考的組件對象的具體被參考的邊;

 pad:兩條邊之間的距離,即兩個組件之間的間距。

        有點繞,其實很好理解。

        實例1:使用彈簧布局管理器。

        本實例利用彈簧布局管理器實現(xiàn)窗體,在調整窗體的大小后,組件仍會布滿整個窗體,并且組件間的相對位置并不會改變。源碼:

import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.Spring;
import javax.swing.SpringLayout;


public class SpringLayout_3 extends JFrame {

	private static final long serialVersionUID = -6045918631932051025L;

	public SpringLayout_3() {
		// TODO Auto-generated constructor stub
		Container container = getContentPane();
		SpringLayout springLayout = new SpringLayout();
		container.setLayout(springLayout);
		JLabel topicLabel = new JLabel("主題 :");
		JLabel contentLabel = new JLabel("內容 :");
		final JTextField textField = new JTextField(30);
		JTextArea textArea = new JTextArea(3, 30);
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setViewportView(textArea);
		textArea.setLineWrap(true);
		final JButton confirmButton = new JButton("取消");
		JButton cancelButton = new JButton("確認");
		Spring st = Spring.constant(10);
		Spring st2 = Spring.constant(30);
		container.add(topicLabel);
		springLayout.putConstraint(SpringLayout.NORTH, topicLabel, st, 
				SpringLayout.NORTH, container);
		springLayout.putConstraint(SpringLayout.WEST, topicLabel, st, 
				SpringLayout.WEST, container);
		container.add(textField);
		springLayout.putConstraint(SpringLayout.WEST, textField, st2, 
				SpringLayout.EAST, topicLabel);
		springLayout.putConstraint(SpringLayout.NORTH, textField, 0, 
				SpringLayout.NORTH, topicLabel);
		springLayout.putConstraint(SpringLayout.EAST, textField, Spring.minus(st), 
				SpringLayout.EAST, container);
		container.add(contentLabel);
		springLayout.putConstraint(SpringLayout.WEST, contentLabel, 0, 
				SpringLayout.WEST, topicLabel);
		springLayout.putConstraint(SpringLayout.NORTH, contentLabel, st, 
				SpringLayout.SOUTH, topicLabel);
		container.add(scrollPane);
		springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 0, 
				SpringLayout.NORTH, contentLabel);
		springLayout.putConstraint(SpringLayout.WEST, scrollPane, 0, 
				SpringLayout.WEST, textField);
		springLayout.putConstraint(SpringLayout.EAST, scrollPane, Spring.minus(st), 
				SpringLayout.EAST, container);
		container.add(confirmButton);
		springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, Spring.minus(st), 
				SpringLayout.NORTH, confirmButton);
		springLayout.putConstraint(SpringLayout.EAST, confirmButton, Spring.minus(st), 
				SpringLayout.EAST, container);
		springLayout.putConstraint(SpringLayout.SOUTH, confirmButton, Spring.minus(st), 
				SpringLayout.SOUTH, container);
		container.add(cancelButton);
		springLayout.putConstraint(SpringLayout.EAST, cancelButton, Spring.minus(st), 
				SpringLayout.WEST, confirmButton);
		springLayout.putConstraint(SpringLayout.NORTH, cancelButton, 0, 
				SpringLayout.NORTH, confirmButton);	
		
		// make the text field focused every time the window is activated
		addWindowFocusListener(new WindowAdapter() {

			@Override
			public void windowGainedFocus(WindowEvent e) {
				// TODO Auto-generated method stub
				textField.requestFocus();
			}

		});
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SpringLayout_3 frame = new SpringLayout_3();
		frame.setTitle("使用彈簧布局管理器");
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(100, 100, 600, 300);
	}

}

總結

以上就是彈簧布局管理器的使用方法及實例,喜歡的同學快去試試效果吧。

感謝大家對腳本之家的支持!

相關文章

  • Java中獲取Class對象的三種方式詳解

    Java中獲取Class對象的三種方式詳解

    本文介紹了Java中獲取Class對象的三種常見方式:使用.class語法、使用Class.forName()方法以及使用.getClass()方法,需要的朋友可以參考下
    2023-12-12
  • Java之源文件的執(zhí)行全過程

    Java之源文件的執(zhí)行全過程

    這篇文章主要介紹了Java之源文件的執(zhí)行全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 使用IDEA工具配置和運行vue項目及遇到的坑

    使用IDEA工具配置和運行vue項目及遇到的坑

    這篇文章主要介紹了使用IDEA工具配置和運行vue項目及遇到的坑,需要的朋友可以參考下
    2018-09-09
  • Logback如何將日志輸出到Kafka配置示例

    Logback如何將日志輸出到Kafka配置示例

    logback是一個功能強大的Java日志框架,它是log4j的繼任者,提供了豐富的功能和配置選項,本文將介紹Logback將日志輸出到Kafka配置示例,感興趣的朋友一起看看吧
    2024-12-12
  • Springboot上傳文件時提示405問題及排坑過程

    Springboot上傳文件時提示405問題及排坑過程

    這篇文章主要介紹了Springboot上傳文件時提示405問題及排坑過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 詳解mybatis中association和collection的column傳入多個參數(shù)問題

    詳解mybatis中association和collection的column傳入多個參數(shù)問題

    這篇文章主要介紹了詳解mybatis中association和collection的column傳入多個參數(shù)問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • java發(fā)送http get請求的兩種方法(總結)

    java發(fā)送http get請求的兩種方法(總結)

    下面小編就為大家?guī)硪黄猨ava發(fā)送http get請求的兩種方法(總結)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • spring?boot?executable?jar/war?原理解析

    spring?boot?executable?jar/war?原理解析

    spring boot里其實不僅可以直接以 java -jar demo.jar的方式啟動,還可以把jar/war變?yōu)橐粋€可以執(zhí)行的腳本來啟動,比如./demo.jar,這篇文章主要介紹了spring?boot?executable?jar/war?原理,需要的朋友可以參考下
    2023-02-02
  • java注解之運行時修改字段的注解值操作

    java注解之運行時修改字段的注解值操作

    這篇文章主要介紹了java注解之運行時修改字段的注解值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • SpringBoot連接MySql數(shù)據(jù)庫的原理及代碼示例

    SpringBoot連接MySql數(shù)據(jù)庫的原理及代碼示例

    SpringBoot是一款流行的Java開發(fā)框架,它可以輕松地連接各種類型的數(shù)據(jù)庫,包括關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫,本文將介紹SpringBoot是如何連接數(shù)據(jù)庫的,包括其原理和代碼示例,需要的朋友可以參考下
    2023-07-07

最新評論

津市市| 新源县| 西华县| 怀安县| 河曲县| 安溪县| 新巴尔虎左旗| 广州市| 香格里拉县| 即墨市| 苍山县| 无锡市| 宁夏| 满城县| 昭觉县| 中方县| 修水县| 海兴县| 渝中区| 吉林市| 兴海县| 江川县| 平乐县| 通河县| 东源县| 河津市| 荔浦县| 天祝| 珠海市| 武强县| 阿鲁科尔沁旗| 扎囊县| 伊宁市| 集贤县| 屏南县| 岚皋县| 闻喜县| 龙井市| 南乐县| 宝丰县| 曲水县|