zoukankan      html  css  js  c++  java
  • Java——布局管理器

    在Swing中使用的所有布局管理器都可以实现LayoutManager接口,在Swing中主要使用的5种布局管理器:FlowLayout、BorderLayout、GridLayout、CardLayout、绝对定位。

    import java.awt.FlowLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    //=================================================
    // File Name       :	FlowLayout_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	FlowLayout_demo
    public class FlowLayout_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		//设置窗体中的布局管理器为FlowLayout,所有的组件居中对齐,水平和垂直间距为3
    		f.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));	
    		JButton but = null;
    		for(int i=0;i<9;i++){
    			but = new JButton("按钮--"+i);
    			f.add(but);
    		}
    		f.setSize(500, 200);
    		f.setVisible(true);
    	}
    
    }
    

    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    //=================================================
    // File Name       :	BorderLayout_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	BorderLayout_demo
    public class BorderLayout_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		//设置窗体中的布局管理器为BorderLayout,水平和垂直间距为3
    		f.setLayout(new BorderLayout(3,3));	
    		f.add(new JButton("东"),BorderLayout.EAST);
    		f.add(new JButton("西"),BorderLayout.WEST);
    		f.add(new JButton("南"),BorderLayout.SOUTH);
    		f.add(new JButton("北"),BorderLayout.NORTH);
    		f.add(new JButton("中"),BorderLayout.CENTER);
    		f.pack(); 						//根据组件自动调整窗体的大小
    		f.setVisible(true);
    	}
    
    }
    

    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    //=================================================
    // File Name       :	GridLayout_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	GridLayout_demo
    public class GridLayout_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		//设置窗体中的布局管理器为GridLayout,3乘以5,水平和垂直间距为3
    		f.setLayout(new GridLayout(3,5,3,3));	
    		JButton but = null;
    		for(int i=0;i<13;i++){
    			but = new JButton("按钮--"+i);
    			f.add(but);
    		}
    		f.pack(); 		//根据组件自动调整窗体大小
    		f.setVisible(true);
    	}
    
    }
    

    import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    
    //=================================================
    // File Name       :	CardLayout_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	CardLayout_demo
    public class CardLayout_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		Container cont = f.getContentPane();							//取得窗体容器
    		CardLayout card = new CardLayout();							//定义布局管理器
    		f.setLayout(card);
    		cont.add(new JLabel("东123456789",JLabel.CENTER),"first");
    		cont.add(new JLabel("西123456789",JLabel.CENTER),"second");
    		cont.add(new JLabel("南123456789",JLabel.CENTER),"third");
    		cont.add(new JLabel("北123456789",JLabel.CENTER),"fourth");
    		cont.add(new JLabel("中123456789",JLabel.CENTER),"fifth");
    		f.pack(); 		//根据组件自动调整窗体大小
    		f.setVisible(true);
    		card.show(cont, "third");
    		for(int i=0;i<5;i++){			//循环显示每张卡片
    			try{
    				Thread.sleep(3000);
    			}catch(InterruptedException e){
    			}
    			card.next(cont);
    		}
    		
    	}
    
    }
    

     

    import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    
    //=================================================
    // File Name       :	AbsoluteLayout_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	AbsoluteLayout_demo
    public class AbsoluteLayout_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		f.setLayout(null);				//绝对定位
    		JLabel title = new JLabel("标签对象");							//建立标签对象
    		JButton enter = new JButton("进入");							//建立按钮对象
    		JButton help = new JButton("帮助");
    		f.setSize(200,90); 						//设置窗体大小
    		title.setBounds(45,5,150,20); 			//设置组件的位置及其大小
    		enter.setBounds(10,30,80,20); 			//设置组件的位置及其大小
    		help.setBounds(100,30,80,20); 			//设置组件的位置及其大小
    		f.add(title);
    		f.add(enter);
    		f.add(help);
    		f.setVisible(true);
    		
    	}
    
    }
    
  • 相关阅读:
    Installing Apache Spark on Ubuntu 16.04
    基尼系数(Gini coefficient),洛伦茨系数
    非平衡数据机器学习
    FCM聚类算法介绍
    基于大数据技术的手机用户画像与征信研究
    归一化方法 Normalization Method
    区块链(Blockchain)
    统计抽样
    动态规划 Dynamic Programming
    LTE中的各种ID含义
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5308844.html
Copyright © 2011-2022 走看看