第三种卡片布局可用于完成简单的抽奖程序,这个还是挺有趣的。
一:流式布局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) ;
//遍历
}
}
}
效果图:
文章图片
【java|java swing的四种常用布局】
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)