zoukankan      html  css  js  c++  java
  • java swing的四种常用布局

    第三种卡片布局可用于完成简单的抽奖程序,这个还是挺有趣的。

     一:流式布局FlowLayout

    实现代码:

    import java.awt.FlowLayout ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    class Tester
    {
        public static void main(String args[])
        {
            JFrame frame = new JFrame("流式布局") ;
            frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3)) ;
            JButton button = null ;
            for(int i=0;i<20;i++)
            {
                button = new JButton("按钮"+i) ;
                frame.add(button) ;
            }
            frame.setSize(600,600) ;
            frame.setVisible(true) ;
        }
    }

    效果图:








    二:边界布局管理器

    代码:

    import java.awt.BorderLayout ;
    import javax.swing.JButton ;
    import javax.swing.JFrame ;
    class Tester
    {
       public static void main(String args[])
       {
           JFrame frame = new JFrame("边界布局") ;
           frame.setLayout(new BorderLayout(3,3)) ;
           frame.add(new JButton("东"),BorderLayout.EAST) ;
           frame.add(new JButton("西"),BorderLayout.WEST) ;
           frame.add(new JButton("南"),BorderLayout.SOUTH) ;
           frame.add(new JButton("北"),BorderLayout.NORTH) ;
           frame.add(new JButton("中"),BorderLayout.CENTER) ;
           frame.setSize(600,600) ;
           frame.setVisible(true) ;
       }
    }

    效果图







    三:表格布局(GridLayout)

    代码:

    import java.awt.GridLayout ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    class Tester
    {
        public static void main(String args[])
        {
            JFrame frame = new JFrame("表格布局") ;
            frame.setLayout(new GridLayout(3,5,13,13)) ;  //四个数字依次对应 行 列 水平间距,垂直间距
            JButton button = null ;
            for(int i=0;i<20;i++)
            {
                button = new JButton("按钮"+i) ;
                frame.add(button) ;
            }
            frame.pack() ;   //根据组件所需要的面板大小自动调整
            frame.setVisible(true) ;
        }
    }
    

    效果图






    四:卡片布局

    代码:

    import java.awt.Container ;
    import javax.swing.JFrame ;
    import javax.swing.JLabel ;
    import java.awt.CardLayout ;
    class Tester
    {
        public static void main(String args[])
        {
            JFrame frame  = new JFrame("卡片管理") ;
            CardLayout card = new CardLayout() ;
            frame.setLayout(card) ;
            Container con = frame.getContentPane() ;
            con.add(new JLabel("候选人一号",JLabel.CENTER),"first") ;
            con.add(new JLabel("候选人二号",JLabel.CENTER),"second") ;
            con.add(new JLabel("候选人三号",JLabel.CENTER),"third") ;
            con.add(new JLabel("候选人四号",JLabel.CENTER),"fourth") ;
            con.add(new JLabel("候选人五号",JLabel.CENTER),"fifth") ;
            frame.pack();
            frame.setVisible(true) ;
            card.show(con,"third") ;//展示第三个
            for(int i=0;i<5;i++)
            {
               try
               {
                  Thread.sleep(1500) ;
               }catch(InterruptedException ie)
               {
                  ie.printStackTrace() ;
               }
               card.next(con) ;  //遍历
            }
        }
    }

    效果图:




  • 相关阅读:
    winform+c#之窗体之间的传值 Virus
    ASP.NET 2.0 利用 checkbox获得选中行的行号, 在footer中显示 Virus
    .NET中的winform的listview控件 Virus
    我的书橱
    Expert .NET 2.0 IL Assembler·译者序一 写在一稿完成之即
    Verbal Description of Custom Attribute Value
    AddressOfCallBacks in TLS
    下一阶段Schedule
    2008 Oct MVP OpenDay 第二天 博客园聚会
    2008 Oct MVP OpenDay 第二天 颁奖·讲座·晚会
  • 原文地址:https://www.cnblogs.com/emoji/p/4436818.html
Copyright © 2011-2022 走看看