精华内容
下载资源
问答
  • swing的几种常见布局管理器

    千次阅读 2011-08-16 17:19:30
    // 创建一个布局管理器对象,将中间容器设置为此布局管理  jf.setLayout(lay);  contentPane.add(b1, "North");// 将五个普通按钮组件分别按照东、南、西、北、中五个方位添加到中间容器中  contentPane....
     
    

    package Layout;
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.GridBagLayout;
    import java.awt.GridLayout;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;

    public class Layout {
     static final int WIDTH = 300;
     static final int HEIGHT = 200;

     public static void main(String[] args) {

      JFrame jf = new JFrame("测试程序");
      jf.setSize(WIDTH, HEIGHT);
      jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      jf.setVisible(true);
      JPanel contentPane = new JPanel();
      jf.setContentPane(contentPane);
      JButton b1 = new JButton("工作");
      JButton b2 = new JButton("学习");
      JButton b3 = new JButton("娱乐");
      JButton b4 = new JButton("购物");
      JButton b5 = new JButton("饮食");
      
      
      int key = 1;   //1  代表边框布局  2 代表流式布局      3 代表网格布局
      
      switch (key) {
      case 1:
       BorderLayout lay = new BorderLayout();// 创建一个布局管理器对象,将中间容器设置为此布局管理
       jf.setLayout(lay);
       contentPane.add(b1, "North");// 将五个普通按钮组件分别按照东、南、西、北、中五个方位添加到中间容器中
       contentPane.add(b2, "South");
       contentPane.add(b3, "East");
       contentPane.add(b4, "West");
       contentPane.add(b5, "Center");
       jf.pack();
       break;

      case 2:
       FlowLayout fay  = new FlowLayout();
       jf.setLayout(fay);
       contentPane.add(b1);
       contentPane.add(b2);
       contentPane.add(b3);
       contentPane.add(b4);
       contentPane.add(b5);
       break;

      case 3:
       
       GridLayout gay   = new GridLayout(2,2);
       contentPane.add(b1);
       contentPane.add(b2);
       contentPane.add(b3);
       contentPane.add(b4);
       //contentPane.add(b5);
       jf.setLayout(gay);

       break;

      default:
       break;
      }
      
     
      
     }
    }

    展开全文
  • JAVA Swing常见布局管理器

    千次阅读 2017-05-28 13:44:36
    JAVA Swing常见布局管理器1.GroupLayoutGroupLayout是以组为单位来管理布局的,把多个组件划分到不容的组,再根据各个组相对于水平轴和垂直轴的排列方式来进行组的管理。使用GroupLayout布局管理器进行布局 import...

    JAVA Swing常见的布局管理器

    1.GroupLayout

    GroupLayout是以组为单位来管理布局的,把多个组件划分到不容的组,再根据各个组相对于水平轴和垂直轴的排列方式来进行组的管理。

    使用GroupLayout布局管理器进行布局

        import java.awt.Container;
    import java.awt.HeadlessException;
    import javax.swing.GroupLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextField;
    public class GroupLayoutDemo extends JFrame 
    {
    private static final long serialVersionUID = 1L;
    public GroupLayoutDemo() throws HeadlessException 
    {
       Container c = getContentPane();//创建一个中间容器,并且创建一个GroupLayout布局管理器对象
       GroupLayout layout = new GroupLayout(c);
       JButton b1 = new JButton("按钮 1");//创建两个普通按钮组件、文本框组件
       JButton b2 = new JButton("按钮 2");
       JTextField text = new JTextField("文本"); 
       GroupLayout.SequentialGroup hsg = layout.createSequentialGroup();//创建一个hsg组,将两个按钮一个一个的添加到组里面
       hsg.addComponent(b1);
       hsg.addComponent(b2);
       GroupLayout.ParallelGroup hpg = 
       layout.createParallelGroup(GroupLayout.Alignment.CENTER); //创建一个hpg组,将文本框组件和上面的那个组添加到其中,并且居中排列
       hpg.addComponent(text).addGroup(hsg); 
       layout.setHorizontalGroup(hpg); //沿水平线来确定hpg组中两个按钮组件的位置
       GroupLayout.ParallelGroup vpg = layout.createParallelGroup();//创建一个vpg组,按照水平线来排列两个按钮组件的位置  
       vpg.addComponent(b1); 
       vpg.addComponent(b2); 
       GroupLayout.SequentialGroup vsg = layout.createSequentialGroup();// 将文本框组件和前面的容纳两个按钮组件的组同时添加到vsg组中
       vsg.addComponent(text).addGroup(vpg);
       layout.setVerticalGroup(vsg); //沿垂直线来确定vsg中vpg和文本框组件的位置
       this.setLayout(layout); 
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       pack();
    }
    public static void main(String[] args) 
    {
    GroupLayoutDemo demo = new GroupLayoutDemo();
    demo.setVisible(true);
    }
    }

    2.BoxLayout

    BoxLayout是箱式布局,它可以创建水平箱和垂直箱两种箱子

    import javax.swing.*;
    import java.awt.*;
    public class BoxLayoutDemo
    {
    
        public static void main(String[] args)
        {
            BoxLayoutFrame frame1=new BoxLayoutFrame();
            frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame1.setVisible(true);
        }
    }
    class BoxLayoutFrame extends JFrame
    {
        private static final int WIDTH=300;
        private static final int HEIGHT=200;
        public BoxLayoutFrame()
        {
    
            setTitle("测试箱式布局管理器");//设置顶层容器名称、大小
            setSize(WIDTH,HEIGHT);
            Container con=getContentPane();//创建一个中间容器
            JLabel label1=new JLabel(" 姓名:");//创建标签组件、文本框组件
            JTextField textField1=new JTextField(10);
            textField1.setMaximumSize(textField1.getPreferredSize());
            Box hbox1=Box.createHorizontalBox();//创建一个水平箱子
            hbox1.add(label1); //在水平箱子上添加一个标签组件,并且创建一个不可见的、20个单位的组件。在这之后再添加一个文本框组件
            hbox1.add(Box.createHorizontalStrut(20));
            hbox1.add(textField1);  
            JLabel label2=new JLabel(" 密码:");//创建标签组件、文本框组件
            JTextField textField2=new JTextField(10);
            textField2.setMaximumSize(textField2.getPreferredSize());
            Box hbox2=Box.createHorizontalBox();//创建一个水平箱子
            hbox2.add(label2); //在水平箱子上添加一个标签组件,并且创建一个不可见的、20个单位的组件。在这之后再添加一个文本框组件
            hbox2.add(Box.createHorizontalStrut(20));
            hbox2.add(textField2);  
            JButton button1=new JButton("确定");//创建两个普通按钮组件,并且创建一个水平箱子,将两个按钮添加到箱子中
            JButton button2=new JButton("取消");
            Box hbox3=Box.createHorizontalBox();
            hbox3.add(button1);
            hbox3.add(button2);
            Box vbox=Box.createVerticalBox();//创建一个垂直箱子,这个箱子将两个水平箱子添加到其中,创建一个横向 glue 组件。
            vbox.add(hbox1);
            vbox.add(hbox2);
            vbox.add(Box.createVerticalGlue());
            vbox.add(hbox3);
            con.add(vbox,BorderLayout.CENTER); // 将垂直箱子添加到BorderLayout布局管理器中的中间位置  
        }
    }

    3.CardLayout

    CardLayout将容器中的每一个组件当做一个卡片,每次仅有一个卡片可见,卡片之间可以来回切换

    import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Color;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
    public class CardLayoutDemo extends JFrame 
    {
        private JPanel pane = null; // 主要的JPanel,该JPanel的布局管理将被设置成CardLayout
        private JPanel p = null; // 放按钮的JPanel
        private CardLayout card = null; // CardLayout布局管理器
        private JButton button_1 = null; // 上一步
        private JButton button_2 = null; // 下一步
        private JButton b_1 = null, b_2 = null, b_3 = null; // 三个可直接翻转到JPanel组件的按钮
        private JPanel p_1 = null, p_2 = null, p_3 = null; // 要切换的三个JPanel
        public CardLayoutDemo () 
    {
            super("CardLayout Test");
            try {
                // 将LookAndFeel设置成Windows样式
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
               } 
    catch (Exception ex) 
    {
                ex.printStackTrace();
               }
            card = new CardLayout(5, 5); //创建一个具有指定的水平和垂直间隙的新卡片布局
            pane = new JPanel(card); // JPanel的布局管理将被设置成CardLayout
            p = new JPanel(); // 构造放按钮的JPanel
            button_1 = new JButton("< 上一步");
            button_2 = new JButton("下一步 >");
            b_1 = new JButton("1");
            b_2 = new JButton("2");
            b_3 = new JButton("3");
            b_1.setMargin(new Insets(2,2,2,2));
            b_2.setMargin(new Insets(2,2,2,2));
            b_3.setMargin(new Insets(2,2,2,2));
            p.add(button_1);
            p.add(b_1);
            p.add(b_2);
            p.add(b_3);
            p.add(button_2);
            p_1 = new JPanel();
            p_2 = new JPanel();
            p_3 = new JPanel();
            p_1.setBackground(Color.RED);
            p_2.setBackground(Color.BLUE);
            p_3.setBackground(Color.GREEN);
            p_1.add(new JLabel("JPanel_1"));
            p_2.add(new JLabel("JPanel_2"));
            p_3.add(new JLabel("JPanel_3"));
            pane.add(p_1, "p1");
            pane.add(p_2, "p2");
            pane.add(p_3, "p3");
             //下面是翻转到卡片布局的某个组件的动作事件处理,当单击某个普通按钮组件,就会触发出现下一个组件
            button_1.addActionListener(new ActionListener()
    { 
    /// 上一步的按钮动作
                public void actionPerformed(ActionEvent e) {
                    card.previous(pane);
                }
            });
            button_2.addActionListener(new ActionListener()
    {
    // 下一步的按钮动作
                public void actionPerformed(ActionEvent e) {
                    card.next(pane);
                }
            });
            b_1.addActionListener(new ActionListener() 
    {
    // 直接翻转到p_1
                public void actionPerformed(ActionEvent e) {
                    card.show(pane, "p1");
                }
            });
            b_2.addActionListener(new ActionListener() 
    { 
    // 直接翻转到p_2
                public void actionPerformed(ActionEvent e) {
                    card.show(pane, "p2");
                }
            });
            b_3.addActionListener(new ActionListener() 
    { 
    // 直接翻转到p_3
                public void actionPerformed(ActionEvent e) {
                    card.show(pane, "p3");
                }
            });
            this.getContentPane().add(pane);
            this.getContentPane().add(p, BorderLayout.SOUTH);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setSize(300, 200);
            this.setVisible(true);
        }
        public static void main(String[] args) {
            new CardLayoutDemo ();
        }
    
    }

    4.GridLayout

    GridLayout将整个空间划分成若干行乘若干列的网络区域,组件就放于这些小区域内。

    import javax.swing.*;
    import java.awt.*;
    public class GridLayoutDemo1
    {
        static final int WIDTH=300;
        static final int HEIGHT=200;
        public static void main(String[] args)
        {
             JFrame jf=new JFrame("测试程序");
             jf.setSize(WIDTH,HEIGHT);
             jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             jf.setVisible(true);
             JPanel contentPane=new JPanel();
             jf.setContentPane(contentPane);
             JButton b1=new JButton("港币");
             JButton b2=new JButton("人民币");
             JButton b3=new JButton("美元");
             JButton b4=new JButton("欧元");
             JButton b5=new JButton("英镑");
             JButton b6=new JButton("主板");
             JButton b7=new JButton("内存");
             JButton b8=new JButton("硬盘");
             JButton b9=new JButton("显示器");
    
             GridLayout gird=new GridLayout(3,3); //创建一个 GridLayout布局管理器对象,将之行数设为3,列数设为3,并且将之作为中间容器的布局管理器
             contentPane.setLayout(gird);
    
             contentPane.add(b1); //将九个普通按钮组件一一添加到中间容器中
             contentPane.add(b2);
             contentPane.add(b3);
             contentPane.add(b4);
             contentPane.add(b5);
             contentPane.add(b6);
             contentPane.add(b7);
             contentPane.add(b8);
             contentPane.add(b9);
             jf.pack();
          }  
    }

    5.FlowLayout

    FlowLayout按照组件加入的先后顺序从左到右排列,一行徘满了,再换下一行,然后继续从左到右排列,每一行的组件都是居中排列的。

    import javax.swing.*;
    import java.awt.*;
    public class FlowLayoutDemo1
    {
        static final int WIDTH=300;
        static final int HEIGHT=200;
        public static void main(String[] args)
        {
            JFrame jf=new JFrame("测试程序");
            jf.setSize(WIDTH,HEIGHT);
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jf.setVisible(true);
            JPanel contentPane=new JPanel();
            jf.setContentPane(contentPane);
            JButton b1=new JButton("港币");
            JButton b2=new JButton("人民币");
            JButton b3=new JButton("美元");
            JButton b4=new JButton("欧元");
            JButton b5=new JButton("英镑");
            contentPane.setLayout(new FlowLayout());//将中间容器的布局管理器设置为FlowLayout
            contentPane.add(b1); //将五个按钮分别按照FlowLayout布局管理器方式添加到中间容器中
            contentPane.add(b2);
            contentPane.add(b3);
            contentPane.add(b4);
            contentPane.add(b5);
            jf.pack();
        }
    }

    展开全文
  • 5种常见布局管理器

    千次阅读 2012-12-20 20:44:48
    1、FlowLayout------像水流一样依次进行排列   import java.awt.*; import javax.swing.*; ...public class TestFlowLayout { ... public static void main(String[] args) { ...// 实例化窗体对象

    1、FlowLayout------像水流一样依次进行排列

     

    import java.awt.*;
    import javax.swing.*;
    
    public class TestFlowLayout {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));//所有组件居中对齐,水平和垂直间距为3
    		JButton button = null;
    		for(int i=0; i<9; i++){
    			button = new JButton("按钮 - "+i);
    			frame.add(button);//加入按钮
    		}
    		frame.setSize(280,140);//设置窗体大小
    		frame.setVisible(true);//设置窗体可见
    	}
    }
    


    2、BorderLayout------分东南西北中五个区域

     

    import java.awt.*;
    import javax.swing.*;
    
    public class TestBorderLayout {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(new BorderLayout(3, 3));// 水平和垂直间距都是3
    		frame.add(new JButton("East"), BorderLayout.EAST);
    		frame.add(new JButton("South"), BorderLayout.SOUTH);
    		frame.add(new JButton("West"), BorderLayout.WEST);
    		frame.add(new JButton("North"), BorderLayout.NORTH);
    		frame.add(new JButton("Center"), BorderLayout.CENTER);
    		frame.pack();//根据组件自动调整窗体的大小
    		frame.setLocationRelativeTo(null);//居中
    		frame.setVisible(true);//设置窗体可见
    	}
    }
    


    3、GridLayout------以表格形式进行排列,必须设置行数和列数

     

    import java.awt.*;
    import javax.swing.*;
    
    public class TestGridLayout {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(new GridLayout(4,4,3,3));//4*4进行排列,水平和垂直间距都是3
    		JButton button = null;
    		for(int i=0; i<13; i++){
    			button = new JButton("按钮 - "+i);
    			frame.add(button);//加入按钮
    		}
    		frame.pack();//根据组件自动调整窗体的大小
    		frame.setLocationRelativeTo(null);//居中
    		frame.setVisible(true);//设置窗体可见
    	}
    }
    


    4、CardLayout------像一张张卡片一样,会彼此重叠,每次只展现一个界面

     

    import java.awt.*;
    import javax.swing.*;
    
    public class TestCardLayout {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		Container cont = frame.getContentPane();//取得窗体容器
    		CardLayout card = new CardLayout();
    		frame.setLayout(card);
    		cont.add(new JLabel("A",JLabel.CENTER),"first");
    		cont.add(new JLabel("B",JLabel.CENTER),"second");
    		cont.add(new JLabel("C",JLabel.CENTER),"third");
    		cont.add(new JLabel("D",JLabel.CENTER),"fourth");
    		cont.add(new JLabel("E",JLabel.CENTER),"fifth");
    		frame.pack();//根据组件自动调整窗体的大小
    		frame.setLocationRelativeTo(null);//居中
    		frame.setVisible(true);//设置窗体可见
    		card.show(cont, "third");//显示第三张卡片
    		for(int i=0; i<5; i++){
    			try{
    				Thread.sleep(1000);//加入显示延迟
    			} catch(Exception e) {
    				e.printStackTrace();
    			}
    			card.next(cont);//从容器中取出组件
    		}
    	}
    }
    


     

    5、绝对定位------设置每一个组件的具体位置

     

    import javax.swing.*;
    
    public class TestAbsoluteLayout {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(null);//使用绝对定位
    		JLabel title = new JLabel("OK");
    		JButton enter = new JButton("Enter");
    		JButton help = new JButton("Help");
    		frame.setSize(200,100);
    		title.setBounds(45,5,150,20);
    		enter.setBounds(10,30,80,20);
    		help.setBounds(100,30,80,20);
    		frame.add(title);
    		frame.add(enter);
    		frame.add(help);
    		frame.setLocationRelativeTo(null);//居中
    		frame.setVisible(true);//设置窗体可见
    	}
    }
    
    展开全文
  • Swing布局管理器

    2014-09-23 16:47:56
    Swing中有五种常见布局管理器分别为FlowLayout、BorderLayout、GridLayout、CardLayout、绝对定位。 一:FlowLayout属于流式布局管理器,使用此种布局方式会使所有的组件想流水一样依次进行排序。

    Swing中使用的所有布局管理器都可以实现LayoutManager接口。Swing中有五种常见的布局管理器分别为FlowLayoutBorderLayoutGridLayoutCardLayout、绝对定位。使用方法及常量可以查找JDK文档。

    一:FlowLayout属于流式布局管理器,使用此种布局方式会使所有的组件想流水一样依次进行排序。

    <span style="font-size:14px;">package org.cjl.demo18.layoutdemo;
    
    import java.awt.FlowLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    public class FlowLayoutDemo01 {
         public static void main(String[] args){
        	 JFrame frame = new JFrame("welcome to mldn");
        	 //设置窗体中的布局管理器为FlowLayout,所有组件居中对齐,水平和垂直距离为3.
        	 frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));
        	 JButton but = null;
        	 for(int i=0;i<9;i++){
        		 but = new JButton("按钮  - "+i);
        		 frame.add(but);//加入按钮
        		 
        	 }
        	 frame.setSize(280,130);
        	 frame.setVisible(true);
         }
    }
    </span>
    显示的结果是


    所有的组件按照顺序依次向下排列,每个组件之间的顺序是3.

    二:BorderLayout是将一个窗体的版面划分为东、西、南、北、中区域,可以直接将需要的组件放到这区域中。

    <span style="font-size:14px;">package org.cjl.demo18.layoutdemo;
    
    import java.awt.BorderLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    public class BorderLayoutDemo01 {
       public static void main(String[] args){
    	   JFrame frame = new JFrame("Welocme to mldn");
    	   //设置窗体中的布局管理器为BorderLayout,所有的组件水平和垂直间距为3
    	  frame.setLayout(new BorderLayout(3,3));
    	  frame.add(new JButton("东(EAST)"),BorderLayout.EAST);
    	  frame.add(new JButton("西(WEST)"),BorderLayout.WEST);
    	  frame.add(new JButton("南(SOUTH)"),BorderLayout.SOUTH);
    	  frame.add(new JButton("北(NORTH)"),BorderLayout.NORTH);
    	  frame.add(new JButton("中(CENTER)"),BorderLayout.CENTER);
    	  
    	  frame.pack();    //自动调整窗体大小
    	  frame.setVisible(true);
       }
    }
    </span>


    三:GridLayout:是以表格的形式进行管理的,在使用此布局管理器时必须设置显示的行数

    package org.cjl.demo18.layoutdemo;
    
    import java.awt.GridLayout;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    public class GridLayoutDemo01 {
          public static void main(String[] args){
        	  JFrame frame = new JFrame("welcome to mldn");
        	  //设置窗体中的布局管理为GridLayout,按3X5进行排列,水平和垂直间距为3.
        	  frame.setLayout(new GridLayout(3,5,3,3));
        	  JButton but = null;
        	  for(int i=0;i<13;i++){
        		  but = new JButton("按钮 - "+i);
        		  frame.add(but);
        	  }
        	  frame.pack();//根据组件自动调整窗体大小
        	  frame.setVisible(true);
          }
    }
    
    显示结果


    四:CardLayout:是将一组组件彼此重,像卡片一样。

    package org.cjl.demo18.layoutdemo;
    
    
    import java.awt.CardLayout;
    import java.awt.Container;
    
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    
    
    public class CardLayoutDemo01 {
         public static void main(String[] args){
        	 JFrame frame = new JFrame("welcome to mldn");
        	 Container cont = frame.getContentPane();//取得 窗体容器
        	 CardLayout card = new CardLayout();
        	 frame.setLayout(card);//设置布局管理器
        	 cont.add(new JLabel("标签-A",JLabel.CENTER),"first");
        	 cont.add(new JLabel("标签-B",JLabel.CENTER),"second");
        	 cont.add(new JLabel("标签-C",JLabel.CENTER),"third");
        	 cont.add(new JLabel("标签-D",JLabel.CENTER),"fourth");
        	 cont.add(new JLabel("标签-E",JLabel.CENTER),"fifth");
        	 frame.pack();//自动调整窗体大小
        	 
        	 frame.setVisible(true);
        	 card.show(cont, "fourth");
        	 for(int i=0;i<5;i++){
        		 try{
        			 Thread.sleep(3000); //加入显示延迟
        		 }catch(InterruptedException e){
        			 e.printStackTrace();
        		 }
        		 card.next(cont);//从容器中取出组件
        		 
        	 }
         }
    }



    展开全文
  • 种类:Java共提供了五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayou...
  • java中的swing组件、主要三大布局管理器的应用

    万次阅读 多人点赞 2017-10-22 14:05:44
    二、布局管理器--介绍 1、概念:组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的。所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理。...其中前三种是最常见布局管理器
  • 布局管理器都是以ViewGroup为基类派生出来的; 使用布局管理器可以适配不同手机屏幕的分辨率,尺寸大小; 布局管理器之间的继承关系 :  在上面的UML图中可以看出, 绝对布局 帧布局 网格布局 相对布局 线性布局...
  • Android-Ui常见的几种布局管理器

    千次阅读 2016-04-07 00:14:17
    二、布局管理器之---线性布局(LinearLayout) 布局为UI提供了一个可视化的结构,比如对于一个activity或者app widget的UI可以用两种方式声明布局: 1.在XML中声明UI元素 2.在运行时实例化布局元素,就是用...
  • 作者:firstmiki ...来源:firstmiki的博客...这篇博文仅仅简单介绍了三种常见布局管理器,都是一些简单应用; 一、 边界布局管理器(FlowLayout) /* * 功能:演示边界布局管理器:组件的位置和大小 */ package GU...
  • 每个容器都有自己的布局管理器,当某个容器内的组件需要改变其属性时,就需要调用其组件所在容器的布局管理器,awt中常见布局管理器有:BorderLayout(边界布局管理器)、FlowLayout(流式布局管理器)、GridLayout...
  • Swing的布局管理器

    千次阅读 2017-04-05 23:29:34
    流布局是相对比较简单的一种布局管理器,也是最常用的布局管理器。在流布局中放置控件时,将按照控件的添加顺序,依次将控件从左到右进行摆放,并且在一行的最后会进行自动换行放置 。在一行中,控件是默认居中放置...
  • Qt为我们提供了QHBoxLayout、QVBoxLayout、QGridLayout三种基本布局管理器,分别是 水平布局,垂直布局,网格布局。继承关系如下:常用的方法有addWidge()和addLayout(),具体例子如下:创建项目layoutTest,继承...
  • Java三大常用布局管理器

    万次阅读 2015-08-21 19:33:10
    三大常用布局管理器:BorderLayout,FlowLayout,GridLayout,以及计算器的案例
  • Android的6种布局管理器总结

    万次阅读 多人点赞 2015-05-26 17:31:30
    Android中的6大布局管理器:1). LinearLayout 线性布局管理器、2). TableLayout 表格布局管理器、3). RelativeLayout 相对布局管理器、4). FrameLayout 帧布局管理器、5). AbsoulteLayout 绝对布局管理器、 6)...
  • Java GUI编程的几种常用布局管理器

    千次阅读 2017-08-24 11:59:48
    Java GUI编程的几种常用布局管理器 本人是一个大二的学生。因为最近有做JavaGUI界面的需求,因此重新开始熟悉JavaGUI的各种控件和布局。然后以次博文为笔记,总结、完善以及发表最近学习的一些技术要点。希望各位...
  •  Java中的布局管理器经常用到的也就是三种(流布局管理器FlowLayout、边界布局管理器BorderLayout、网格布局管理器GridLayout),复杂的界面采用单一的布局管理器完成比较困难,一般(流布局管理器、边界布局管理器...
  • Android常用布局管理器总结

    千次阅读 2017-05-30 19:19:23
    主要分为两大部分,View(视图:普通控件)和ViewGroup(容器:布局管理器)。LinearLayout 线性布局管理器线性布局内的控件不换行或换列,组件依次排列,超出容器的控件则不会被显示。 主要属性说明: android:ori
  • Android布局管理器-详细解析布局实现

    千次阅读 2014-12-04 20:13:02
    属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器都有一个LayoutParams内部类, android:... 是父容器用来控制子组件的属性. 如android:layout_gravity 是控制组件本身的对齐方式, ...
  • 标准布局管理器  Java平台提供了多种布局管理器,例如java.awt.FlowLayout、java.awt.Border.Layout、java.awt.GridLayout、java.awt.CardLayout、java.awt.GridBagLayout、javax.swing.BoxLayout、javax.swing....
  • 本文主要讲解Swing程序设计中容器、面板及四大布局管理器的详细使用、包括实例程序讲解、使用注意及使用技巧分享、敬请阅读! 目录 什么是容器? 什么是面板? JPanel面板 JScrollPane面板 什么是布局管理器...
  • [置顶] Android布局管理器 - 详细解析布局实现 http://blog.csdn.net/shulianghan/article/details/17226581 分类: android基础 2013-12-13 00:01 2177人阅读 评论(18) 收藏 举报 布局线性布局绝对布局...
  • Android四种布局管理器

    2013-12-30 20:37:10
    Android中一共有四种布局管理器: LinearLayout:线性布局管理器(默认),分为水平和垂直两种,只能进行单行布局。 FrameLayout:所有的组件放在左上角,一个覆盖一个。 TableLayout:任意行和列的表格布局管理器,...
  • java Swing布局管理器之BorderLayout布局

    千次阅读 2016-05-08 15:05:10
    BorderLayout边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、NORTH、SOUTH。依次对应为:上北(NORTH)、下南(SOUTH)、左西(WEST)、右东(EAST),中(CENTER),如下图所示。    特征: ...
  • 掌握Android常用的几种布局管理器; 掌握TextView、EditText、Button等常见控件的使用方法; 能够熟练应用各种布局管理器及控件进行界面设计。 二、实验环境 1、部署有Android Studio和Android SDK的主机; 2、建议...
  • CSS常见布局整理

    千次阅读 2018-12-02 23:05:47
    本文主要对 CSS 布局常见的经典问题进行简单说明 涉及到常见的两栏,三栏布局  二列布局的特征是侧栏固定宽度,主栏自适应宽度。三列布局的特征是两侧两列固定宽度,中间列自适应宽度。而二列布局可以看做去掉...
  • 边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、NORTH、SOUTH。依次对应为:上北(NORTH)、下南(SOUTH)、左西(WEST)、右东(EAST),中(CENTER),如下图所示。   特征: l 可以把...
  • Java界面常用布局管理器

    万次阅读 2016-09-18 19:35:21
    这是第一次在博客园里面写博客,是有关JAVA页面设计当中的布局管理器,可能大多数人会选择使用 NetBeans 或者是Eclipse 的组件来实现可视化拖拽组件来达到自己页面设计布局,因为是第一次做界面,总结一下,以供...
  • Android学习笔记(10).布局管理器

    千次阅读 2015-12-10 23:44:41
    布局管理器的几个类都是ViewGroup派生的,用于管理组件的分布和大小,使用布局管理器可以很好地解决屏幕适配问题。布局管理器本身也是一个UI组件,布局管理器可以相互嵌套使用,下面是布局管理器的类图:
  • 设置布局管理器5.添加组件6.设置窗体参数7.设置窗体可见如果是BorderLayout,则省略第4步,因为默认就是BorderLayout三大布局管理器当放大或者缩小会有什么变化?什么会发生变化?看图说话:BorderLayout:中部长和...
  • Java图形用户界面2—布局管理器

    千次阅读 多人点赞 2011-10-19 11:38:05
    在Java中组件的摆放位置和大小事由布局管理器来决定的,容器对布局管理器的特定实例保持着一个引用,当容器要定位一个组件的时候,它将调用布局管理器来决定。我们在设置组件的大小的时候,也是通过这个完成的。  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,017
精华内容 31,606
关键字:

常见布局管理器