[java]代码库
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class CalFrame extends Frame {
  //http://www.2cto.com/kf/201405/298165.html
	public void launchFrame() {
		this.setTitle("test");
		this.setBounds(20, 20, 300, 450);
		this.setMaximumSize(null);
		this.setVisible(true);
		this.setResizable(false);
		this.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		MenuBar menu = new MenuBar();
		Menu file = new Menu("File");
		Menu edit = new Menu("Edit");
		Menu source = new Menu("Source");
		Menu refa = new Menu("Refactor");
		menu.add(file);
		menu.add(edit);
		menu.add(source);
		menu.add(refa);
		this.setMenuBar(menu);
		Panel p = new Panel();
		p.setLayout(new BorderLayout(5, 5));
		p.setBackground(Color.LIGHT_GRAY);
		this.add(p);
		TextArea t = new TextArea("0", 2, 1, TextArea.SCROLLBARS_NONE);
		t.setBounds(new Rectangle(280, 40));
		t.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
		t.setEditable(false);
		System.out.println(t.getWidth() + "----" + t.getHeight());
		p.add(t, BorderLayout.NORTH);
		Panel sub = new Panel();
		sub.setBackground(Color.GRAY);
		sub.setBounds(new Rectangle(280, (p.getHeight() - t.getHeight())));
		p.add(sub, BorderLayout.CENTER);
		sub.setLayout(new GridLayout(6, 5, 5, 5));
	
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 6; j++) {
				Button b = new Button("i");
				int width = sub.getWidth() / 5;
				int height = sub.getHeight() / 6;
				b.setSize(width, height);
				b.setBackground(Color.LIGHT_GRAY);
				sub.add(b);		 
			}
		}
		
	}
	public static void main(String[] args) {
		new CalFrame().launchFrame();
	}
}
[源代码打包下载]