Java布局管理器

来源:互联网 发布:sqlserver视频教程下载 编辑:程序博客网 时间:2024/05/09 16:07
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));  左对齐,组件间水平,垂直间距为0for(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);}}