您现在的位置是:首页 > 正文

java swing的四种常用布局

2024-01-30 23:42:32阅读 0
第三种卡片布局可用于完成简单的抽奖程序,这个还是挺有趣的。

 一:流式布局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) ;  //遍历
        }
    }
}

效果图:




转载于:https://www.cnblogs.com/emoji/p/4436818.html

网站文章

  • QString拼接

    QString str1 = "Welcome";//传递一个const char* 类型的ASCII字符“Welcome”,会调用QString的构造函数str1 = str1 +" to you!";qDebug()QString str1 = "Welcome";QString str2 = " to";str1.append(str2);str1.app

    2024-01-30 23:42:25
  • Linq 多条件组合拼接排序

    using System; using System.Web; using Uzai.Shop.Entity.comment; using System.Collections.Generic; using Uzai.Shop.BLL.comment; using System.Linq; using System.Web.Script.Serialization; /// /// tanyo

    2024-01-30 23:42:17
  • Linux Command Line 解析

    0处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的。在进行后续分析之前,先来理解一下command line的处理模型:...

    2024-01-30 23:41:48
  • 15、慢查询原理和实战,及最快优化方法,优化工具

    15、慢查询原理和实战,及最快优化方法,优化工具

    show [session|global] status like … 如果不写 [session|global] 默认是session 会话,只取出当前窗口的执行,如果想看所有(mysql 启动到现在应该使用 global)可以通过如下命令计算QPS 和 TPS。

    2024-01-30 23:41:40
  • asp.net html验证,asp.net core2.2多用户验证与授权示例详解

    asp.net html验证,asp.net core2.2多用户验证与授权示例详解

    前言asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇:我的项目有两类用户:微信公众号用户,用户名为公众号的openid企业微信的用户,用户名为企业微信的u...

    2024-01-30 23:41:33
  • 【misc】2021 极客大挑战(部分)

    【misc】2021 极客大挑战(部分)

    【misc】2021 极客大挑战(部分) 1、今天有被破防吗? 0x1 最早上的一批题目,当时没什么思路。后来pwn神在群里提到了RGB,瞬间懂了! 参考链接: gaps拼图 0x2 下载附件得到一个...

    2024-01-30 23:41:27
  • python-10

    纯函数实现面向对象-人狗大战、初识面向对象、类和对象相关的知识、对象和类的命名空间、

    2024-01-30 23:40:57
  • 用C#实现一个简易的Mips汇编器

    用C#实现一个简易的Mips汇编器

    用C#实现一个简易的Mips汇编器Mips31个寄存器Mips指令入门Mips内存安排C#实现项目结构Token.cs,定义Mips汇编语言的TokenConvertHelper.cs,作为进制转换类...

    2024-01-30 23:40:50
  • Leetcode 数组拆分 I

    给定长度为2n的数组, 你的任务是将这些数分成n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4). 提示: n是正整数,范围在 [1, 10000...

    2024-01-30 23:40:41
  • html5学习笔记(一)html基础

    html5学习笔记(一)html基础

    记录自己的一点一点的学习过程

    2024-01-30 23:40:13