您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第18章:图形界面】_布局管理器
发布时间:2021-01-16 10:36:18编辑:雪饮阅读()
流式布局管理器
import java.awt.FlowLayout ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
//水平居中 3行3列显示,则默认没有拉伸情况下以3行3列显示,那么这9个容器的所占用总空间在frame中相对于frame是水平居中的
frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3)) ;
for(int i=0;i<9;i++){
JButton but = new JButton("按钮-"+ i) ;
frame.add(but) ;
}
frame.setSize(280,123) ;
frame.setVisible(true) ;
}
}
边界布局管理器
import java.awt.BorderLayout ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
//3行3列
frame.setLayout(new BorderLayout(3,3)) ;
//东
frame.add(new JButton("kasumi"),BorderLayout.EAST) ;
//南
frame.add(new JButton("anyane"),BorderLayout.SOUTH) ;
//中
frame.add(new JButton("snowDrink"),BorderLayout.CENTER) ;
//西
frame.add(new JButton("momiji"),BorderLayout.WEST);
//北
frame.add(new JButton("lisa"),BorderLayout.NORTH) ;
frame.setSize(280,123) ;
frame.setVisible(true) ;
}
}
网格布局管理器
import java.awt.GridLayout ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
//行、列、水平间距、垂直间距
frame.setLayout(new GridLayout(3,5,3,13)) ;
JButton but = null ;
for(int i=0;i<15;i++){
but = new JButton("按钮-"+ i) ;
frame.add(but) ;
}
//根据组件自动适配窗体大小
frame.pack() ;
frame.setVisible(true) ;
}
}
卡片布局管理器
类似于一副扑克牌,然后每次只显示最顶上那一张
import java.awt.CardLayout ;
import java.awt.Container ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
CardLayout card = new CardLayout() ;
frame.setLayout(card) ;
Container con = frame.getContentPane() ;
con.add(new JLabel("kasumi",JLabel.CENTER),"first") ;
con.add(new JLabel("ayane",JLabel.CENTER),"second") ;
con.add(new JLabel("snowDrink",JLabel.CENTER),"thrid") ;
con.add(new JLabel("lisa",JLabel.CENTER),"fourth") ;
con.add(new JLabel("momiji",JLabel.CENTER),"fifth") ;
frame.pack() ;
frame.setVisible(true) ;
}
}
指定让某个卡片显示
import java.awt.CardLayout ;
import java.awt.Container ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
CardLayout card = new CardLayout() ;
frame.setLayout(card) ;
Container con = frame.getContentPane() ;
con.add(new JLabel("kasumi",JLabel.CENTER),"first") ;
con.add(new JLabel("ayane",JLabel.CENTER),"second") ;
con.add(new JLabel("snowDrink",JLabel.CENTER),"thrid") ;
con.add(new JLabel("lisa",JLabel.CENTER),"fourth") ;
con.add(new JLabel("momiji",JLabel.CENTER),"fifth") ;
frame.pack() ;
frame.setVisible(true) ;
//指定让某个卡片显示
card.show(con,"fifth") ;
}
}
卡片的翻页
import java.awt.CardLayout ;
import java.awt.Container ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
CardLayout card = new CardLayout() ;
frame.setLayout(card) ;
Container con = frame.getContentPane() ;
con.add(new JLabel("kasumi",JLabel.CENTER),"first") ;
con.add(new JLabel("ayane",JLabel.CENTER),"second") ;
con.add(new JLabel("snowDrink",JLabel.CENTER),"thrid") ;
con.add(new JLabel("lisa",JLabel.CENTER),"fourth") ;
con.add(new JLabel("momiji",JLabel.CENTER),"fifth") ;
frame.pack() ;
frame.setVisible(true) ;
//让卡片每间隔3秒自动翻到下一个卡片
for(int i=0;i<5;i++){
try{
Thread.sleep(3000) ;
}catch(InterruptedException e){}
card.next(con) ;
}
}
}
这里应该做成gif,太懒了,叫我懒队长
绝对定位布局管理器
import java.awt.FlowLayout ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
import javax.swing.JLabel ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome To kasumi") ;
frame.setSize(280,123) ;
frame.setLayout(null) ;
JLabel title = new JLabel("www.kasumi.cn") ;
JButton enter = new JButton("进入") ;
JButton help = new JButton("帮助") ;
//x坐标(偏移),y坐标(偏移),宽,高
title.setBounds(45,5,150,20) ;
enter.setBounds(10,30,80,20) ;
help.setBounds(150,30,120,20) ;
frame.add(title) ;
frame.add(enter) ;
frame.add(help) ;
frame.setVisible(true) ;
}
}
关键字词:java,布局管理器