Java图形化界面设计——布局管理器之GridLayout(网格布局) 之计算器

代码如下:

import java.awt.*;

import javax.swing.*;

public class GridFrame extends JFrame {

	// 定义字符串数组,为按钮的显示文本赋值

	String str[] = { "MC", "MR", "MS", "M+", "←", "C", "%", "π", "7", "8", "9",
			"/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "=", "+" };

	public GridFrame() {

		// 定义面板,并设置为网格布局,4行4列,组件水平、垂直间距均为7
		JPanel pan = new JPanel();
		pan.setLayout(new GridLayout(6, 4, 5, 5));

		pan.setBackground(Color.yellow);// 添加颜色

		setLayout(new BorderLayout()); // 定义窗体布局为边界布局

		// 循环定义按钮,并添加到面板中

		for (int i = 0; i < str.length; i++) {

			pan.add(new JButton(str[i]));

		}

		JTextField text = new JTextField(); // 定义文本框

		// 将文本框放置在窗体NORTH位置

		getContentPane().add(text, BorderLayout.NORTH);

		// 将面板放置在窗体CENTER位置

		getContentPane().add(pan, BorderLayout.CENTER);

		setSize(320, 320);// 定义大小
		setLocationRelativeTo(null); // 让窗口居中显示
		setResizable(false);// 不能改变窗体大小
	}

	public static void main(String[] args) {
		GridFrame cal = new GridFrame();
		cal.setTitle("计算器");
		cal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// cal.pack();
		cal.setVisible(true);
	}
}
时间: 2024-12-20 21:26:31

Java图形化界面设计——布局管理器之GridLayout(网格布局) 之计算器的相关文章

三十三、Java图形化界面设计——布局管理器之null布局(空布局)

摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局. 操作方法: 1)       首先利用setLayout(null)语句将容器的布局设置为null布局(空布局). 2)       再调用组件的setBounds(int x, int y, int width,int

三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)

摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式为:从上到下,从左到右. l  组件放入容器的次序决定了它在容器中的位置. l  容器大小改变时,组件

三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 1.  CardLayout类的常用构造函数及方法 2.  使用CardLayout类提供的方法可以切换显

Java图形化界面设计——容器(JFrame)

Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构,现在就进入java图形化界面编程. 一.Java基本类(JFC) Java基本类(“JavaFoundationClasses”,JFC),由一些软件包组成.这些软件包主要包括下面一些应用程序接口(API): ·抽象窗口工具集(AWT)(1.1及以上版本). ·Swing构件. ·Java 2D应

二十七、Java图形化界面设计——容器(JFrame)

摘自http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构,现在就进入java图形化界面编程. 一.Java基本类(JFC) Java基本类("JavaFoundationClasses",JFC),由一些软件包组成.这些

Java图形化界面设计——布局管理器之FlowLayout(流式布局)

一.布局管理器所属类包 所属类包 布局管理器名称 说明 Java.awt FlowLayout(流式布局) 组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列 BorderLayout(边界布局) 容器划分为东.西.南.北.中五个区域,每个区域只能放置一个组件. GridLayout(网格布局) 容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件. CardLayout(卡片布局) 如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌.适用于在一

转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址

http://blog.csdn.net/liujun13579/article/details/7771191 前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了布局管理器,以使编写的图形界面具有良好的平台无关性. 注意:所有的布局管理器均是针对容器来使用的,包括顶层容器和中间容器. 一.布局管理器所属类包 所属类包 布局管理器名称 说明 Jav

03 Java图形化界面设计&mdash;&mdash;布局管理器之FlowLayout(流式布局)

前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了布局管理器,以使编写的图形界面具有良好的平台无关性. 注意:所有的布局管理器均是针对容器来使用的,包括顶层容器和中间容器. 一.布局管理器所属类包 所属类包 布局管理器名称 说明 Java.awt FlowLayout(流式布局) 组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一

Java图形化界面设计——布局管理器之CardLayout(卡片布局)

卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 1.  CardLayout类的常用构造函数及方法 2.  使用CardLayout类提供的方法可以切换显示该空间中的组件 方法一步骤: (1)      定义使用卡片布局的容器 例如:Panel cardPanel=new Panel(); (2)      定义卡片对象:CardLayout 布局对象

三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)

边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次相应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENTER),例如以下图所看到的. 特征: l  能够把组件放在这五个位置的随意一个,假设未指定位置,则缺省的位置是CENTER. l  南.北位置控件各占领一行,控件宽度将自己主动布满整行.东.西和中间位置占领一行;若东.西.南.北位置无控件,则中间控件将自己主动布满整个屏幕.若东.西.南.北位置中不管