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) ;  //遍历
            }
        }
    }

    效果图:




  • 相关阅读:
    菜鸟系列k8s——快速部署k8s集群(3)
    菜鸟系列docker——docker容器(7)
    菜鸟系列Fabric源码学习 — 区块同步
    菜鸟系列Fabric源码学习 — peer节点启动
    菜鸟系列Fabric源码学习 — orderer服务启动
    递归科赫雪花
    汉诺塔递归函数hanoi
    字符串格式化与.format()
    turtle风轮绘制
    接口签名2
  • 原文地址:https://www.cnblogs.com/emoji/p/4436818.html
Copyright © 2011-2022 走看看