GUI 布局 GridLayout、BorderLayout嵌套,BoxLayout

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/chu_jian86a/article/details/79269518

Example4.java

import java.awt.*;

import javax.swing.*;


public class Example4 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new WinGrid();
	}

}
class WinGrid extends JFrame{
	GridLayout grid;//GridLayout布局
	JPanel chessboard;
	WinGrid(){
		chessboard = new JPanel();
		grid = new GridLayout(12,12);
		chessboard.setLayout(grid);
		Label label[][] = new Label[12][12];
		for(int i = 0;i < 12;i++)
			for(int j = 0;j < 12;j++){
				label[i][j] = new Label();
				if((i+j)%2 == 0)
					label[i][j].setBackground(Color.black);
				else
					label[i][j].setBackground(Color.white);
				chessboard.add(label[i][j]);
			}
		add(chessboard,BorderLayout.CENTER);//BorderLayout布局
		add(new JButton("北"),BorderLayout.NORTH);
		add(new JButton("南"),BorderLayout.SOUTH);
		add(new JButton("西"),BorderLayout.WEST);
		add(new JButton("东"),BorderLayout.EAST);
		setTitle("模拟棋盘");
		setBounds(10,10,570,390);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		validate();
	}
}
效果图:

WindowBoxLayout文件:

import javax.swing.*;


public class WindowBoxLayout extends JFrame {
	Box baseBox,boxV1,boxV2;
	public WindowBoxLayout(){
		setLayout(new java.awt.FlowLayout());
		init();
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	//两个列型盒式容器boxV1、boxV2嵌入一个行型盒式容器中
	void init() {
		// TODO Auto-generated method stub
		boxV1 = Box.createVerticalBox();
		boxV1.add(new JLabel("姓名"));
		boxV1.add(Box.createVerticalStrut(8));
		boxV1.add(new JLabel("email"));
		boxV1.add(Box.createVerticalStrut(8));
		boxV1.add(new JLabel("职业"));
		boxV2 = Box.createVerticalBox();
		boxV2.add(new JTextField(10));
		boxV2.add(Box.createVerticalStrut(8));
		boxV2.add(new JTextField(10));
		boxV2.add(Box.createVerticalStrut(8));
		boxV2.add(new JTextField(10));
		baseBox = Box.createHorizontalBox();
		baseBox.add(boxV1);
		baseBox.add(Box.createHorizontalStrut(10));
		baseBox.add(boxV2);
		add(baseBox);
	}
}
Example5文件:
public class Example5 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		WindowBoxLayout win = new WindowBoxLayout();
		win.setBounds(100,100,310,260);
	}

}
效果图:



猜你喜欢

转载自blog.csdn.net/chu_jian86a/article/details/79269518