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);
    		
    	}
    
    }
    
  • 相关阅读:
    Leetcode 238. Product of Array Except Self
    Leetcode 103. Binary Tree Zigzag Level Order Traversal
    Leetcode 290. Word Pattern
    Leetcode 205. Isomorphic Strings
    Leetcode 107. Binary Tree Level Order Traversal II
    Leetcode 102. Binary Tree Level Order Traversal
    三目运算符
    简单判断案例— 分支结构的应用
    用switch判断月份的练习
    java基本打印练习《我行我素购物系统》
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5308844.html
Copyright © 2011-2022 走看看