Java布局管理器

import java.awt.*;
import javax.swing.*;

public class BorderJButton extends JFrame{

	public BorderJButton(){
		setLayout(new BorderLayout());       //制定布局管理器;
		add(new Button("1"),BorderLayout.NORTH);
		add(new Button("2"),BorderLayout.SOUTH);
		add(new Button("3"),BorderLayout.EAST);
		add(new Button("4"),BorderLayout.WEST);
		add(new Button("5"),BorderLayout.CENTER);
	}
	public static void main(String[] args) {
		BorderJButton frame=new BorderJButton();
		frame.setTitle("test");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300,150);
		frame.setVisible(true);
		

	}

}



//FlowLayout    按钮大小由字符串名称大小决定,FlowLayout布局中所有添加的组件都被压缩为它们的最小尺寸。改变容器大小,足见会重新排列
import java.awt.*;
import javax.swing.*;

public class FlowButton1 extends JFrame{
	public FlowButton1(){
		//设置容器的组件排列方向属性
		//applyComponentOrientatiion(ComponentOrientation.RIGHT_TO_LEFT);
		
	
		//setLayout(new FlowLayout(FlowLayout.LEFT,0,0));  左对齐,组件间水平,垂直间距为0
		for(int i=1;i<9;i++){
			add(new JButton("Button"+i));
		}
	}
	public static void main(String[] args) {
		FlowButton1 frame=new FlowButton1();
		frame.setTitle("Test");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300,150);
		frame.setVisible(true);
		
	}

}

GridLayout

把空间均分为若干行列的矩形网格,每个网格中只能添加一个组件。 若制定划分的具体非0行数,编译器将忽略指定的具体列数。只有在行数制定为0时,制定的列数才有实际意义。行数和列数不能同时制定为0

public GridLayout()

public GridLayout(int rows,int cols)

public GridLayout(int rows,int cols, int hgap,int vgap)



CardLayout

public void first(Container parent)

public void next(Container parent)

public void previous(Container parent)

public void last(Container parent)

public void show(Container parent,String name)


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class CardJButton extends JFrame{
	private CardLayout cl=new CardLayout();
	private Container container=getContentPane();
	
	public CardJButton(){
		JButton button;
		ActionListener listener=new ActionListener(){
			public void actionPerformed(ActionEvent e){
				cl.next(container);
			}
		};
		
		setLayout(cl);
		for(int i=0;i<12;i++){
			button=new JButton(new ImageIcon("images/T"+i+".jpeg"));
			add(button,Integer.toString(i));
			button.addActionListener(listener);
		}
	}
	
	public static void main(String[] args) {
		CardJButton frame=new CardJButton();
		frame.setTitle("Test");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300,200);
		frame.setVisible(true);
		

	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值