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

效果图:

时间: 2024-12-07 20:16:53

java swing的四种常用布局的相关文章

【转】 FPGA设计的四种常用思想与技巧

本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果. FPGA/CPLD的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作.串并转换.流水线操作和数据接口的同步方法.希望本文能引起工程师们的注意,如果能有意识地利用这些原则指导日后的设计工作,将取得事半功倍的效果! 乒乓操作“乒乓

JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例

简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用).SoftReferenc(软引用).WeakReferenc(弱引用).PhantomReference(虚引用)的作用.同时我们还将介绍ReferenceQueue和WeakHashMap的功能和使用示例. 欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. JAVA中的四种引用 四种引用中,软引用.若引用.虚引用都需要相关类来创建.创建的时候

javaservlet处理四种常用api请求get,put,post,delete

一般在网站搭建中servlet只需处理post,get请求便足已.本篇注重使用javaweb编写restful风格api,在servlet中对四种常用请求进行处理. 在api中对于一个请求要做的通常是提取header参数,提取携带数据(post,put).在这里已post为例来说明用法. 下面是发起的post请求,用python(很简单)写的,该请求既有自定义header参数Bearer,也有携带数据bodys里的内容 import json import requests taken='YWM

java中的四种单例实现方式

在java中,单例设计模式是非常常见的设计模式,对单例设计模式的概念,不做过多的介绍,下面将逐一介绍四种单例设计模式: 1.第一种单例设计模式 1.1 代码实现 package com.singleton.one; /**  * 第一种单例设计模式  * @author Administrator  *  */ public class SingleTonOne { // 实例化 private static SingleTonOne instance = new SingleTonOne();

Java Swing界面编程(8)---FlowLayout布局管理器

package com.beyole.util; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; public class test6 { public static void main(String[] args) { JFrame frame = new JFrame("FlowLayout"); frame.setLayout(new FlowLayout(Flo

Java Swing界面编程(9)---BorderLayout布局管理器

package com.beyole.util; import java.awt.BorderLayout; import java.awt.Button; import javax.swing.JFrame; public class test7 { public static void main(String[] args) { JFrame frame=new JFrame("Crystal"); frame.setLayout(new BorderLayout(3,3));//

java 正则表达式高级篇(四种常用的处理方式:匹配 分割 替代 获取)

package test; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 正则表达式 * 正则表达式 的用法主要是4种方面的使用 * 匹配,分割,替换,获取. * 用一些简单的符号来代表代码的操作 * @author cyc * */ public class Rex { public static void main(String[] args) { //针对字符串处理 Rex reg = new R

java中的四种监听类用法

在此列举四种方法: 自身类实现ActionListener接口,作为事件监听器 通过匿名类处理 通过内部类处理 通过外部类处理 下面依次介绍: 第一种:自身类实现ActionListener接口,作为事件监听器. 这种方法是最基本的,也是初学者经常使用的,我当初即是如此. import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent;

Java中的四种引用类型比较

1.引用的概念 引用这个概念是与JAVA虚拟机的垃圾回收有关的,不同的引用类型对应不同的垃圾回收策略或时机. 垃圾收集可能是大家感到难于理解的较难的概念之一,因为它并不能总是毫无遗漏地解决Java运行时环境中堆管理的问题. 垃圾回收的大致思路是:当Java虚拟机觉得内存不够用的时候,会触发垃圾回收操作(GC),清除无用的对象,释放内存.可是如何判断一个对象是否是垃圾呢?其中的一个方法是计算指向该对象的引用数量,如果引用数量为0,那么该对象就为垃圾(Thread对象是例外),否则还有用处,不能被回