`

对swing界面开发的个人理解

阅读更多

java图形界面一般需要两个包灵活使用,一个是java.awt,另外一个是java.swing.

 

常用的组件:
 1.常用的容器(可以往内加东西的就是容器)
 JFrame(窗体类),是顶级容器,最大的,所有的东西都可以网上加.可以理解为一个大窗户
 JPanel(面板类),是最灵活的容器,她可大可小.那么便是大窗户里的那些一个一个组成的玻璃板,
 JMenuBar(菜单栏),JMenu(菜单项),等等
 
 2.常用的元素组件(不能往里面加内容)
 JLabel 标签类
 JButton 按钮类
 
 JComboBox 下拉框类
 JPasswordField 密码输入框
 JTextField 编辑框类
 JMenuItem 菜单项类
 (一般带有"J"的都在java.swing包下)
 
 3.常用的布局
 BoderLayout  边框布局 (窗体的布局是边框布局,在没有指定显示位置的情况下,都会往中间去加)
 FlowLayout  流式布局 (面板的布局是流式布局)
 GridLayout  网格布局

 所有以Layout结尾的类都是布局类。
 
界面实现:
 实现界面的步骤:
  (1)定义类,在类中定义主函数和初始化界面的方法
  (2)在初始化界面的方法中,实例化一个JFrame窗体类的对象
  (3)设置窗体对象的属性(大小,标题,显示位置,窗口关闭时退出程序,禁止改变窗体大小,窗体可见)
  (4)实例化布局对象并且设置窗体容器的布局方式
  (5)实例化容器或者元素组件的对象,然后让对象添加到窗体上(标签)
  (6)在主函数中实例化类的对象,然后调用初始化界面的方法
 
 下面用一段简单的代码实现一个小小计算器的界面:

import java.awt.BorderLayout;//边框布局类
import java.awt.Color;//颜色类
import java.awt.Dimension;

import javax.swing.JButton;//按钮类
import javax.swing.JFrame;//窗体类
import javax.swing.JPanel;//面板类
import javax.swing.JTextField;//编辑框类

public class Calculator {

	//程序的入口主函数
	public static void main(String [] args) {
		//实例化一个计算器对象
		Calculator calculator = new Calculator();
		calculator.initUI();
		
	}
	
	int i ;
	//创建一个全局变量,储存字符
	private String[] name = {"C","=","7","8","9","+","4","5","6","-","1","2","3","*","0",".","/"};
	//定义一个按钮数组
	JButton jb[] = new JButton[27];
	
	//方法:initUI
	public void initUI(){
		
		
		//实例化一个JFrame窗体对象
		JFrame jf = new JFrame();
		jf.setSize(196,242);//设置大小
		jf.setLocation(100, 100);//设置显示位置
		jf.setTitle("Calculator");//设置标题
		jf.setDefaultCloseOperation(3);//设置关闭窗口时退出程序
		jf.setResizable(false);//设置禁止改变窗口大小
		
		BorderLayout bd = new BorderLayout();//实例化一个边框布局
		jf.setLayout(bd);//设置窗体的布局为边框布局
		
		JTextField jt = new JTextField("0");//实例化一个编辑框类
		jt.setPreferredSize(new Dimension(140,50));//设置编辑框的大小
		jt.setHorizontalAlignment(JTextField.RIGHT); // 文本右对齐
		jt.setBackground(Color.WHITE);//设置编辑框背景为白色
		jt.setEditable(false);//设置编辑框不可编辑
		jf.add(jt,BorderLayout.NORTH);
		
		
		JPanel panel = new JPanel();//实例化一个面板对象
		
		//使用循环来添加按钮
		for(i = 0; i <= 16; i++){
			jb[i] = new JButton(name[i]);//创建每一个按钮
			panel.add(jb[i]);//将按钮添加到面板上
			jb[i].setPreferredSize(new Dimension(41,26));//设置每一个按钮的大小
			if(i == 0){
				jb[i].setPreferredSize(new Dimension(132,26));//特别设置“C”按钮的大小
			}
			if(i == 14){
				jb[i].setPreferredSize(new Dimension(86,26));//特别设置“0”按钮的大小
			}
//			NumberListener a = new NumberListener(jt,jb[i]);//实例化事件处理类的对象
//			jb[i].addActionListener(a);//将监听器添加到按钮上
		}
		
		jf.add(panel,BorderLayout.CENTER);//将面板加到窗体的中间
		
		jf.setVisible(true);//设置窗口可见
		
	}
	

}

 

 下面便是小小计算器的界面了:



 

  • 大小: 11.3 KB
分享到:
评论
3 楼 wangkechao.dream 2013-08-20  
那是。。。。。
2 楼 Wonder_234 2013-08-16  
wangkechao.dream 写道
,你是做swing 的?

当然....不是
1 楼 wangkechao.dream 2013-08-12  
,你是做swing 的?

相关推荐

    Java毕业设计-java+毕业设计+扫雷(程序).rar

    * 对扫雷游戏感兴趣的开发者,希望在此基础上进行二次开发的个人或团队。 使用场景: * 作为Java编程课程的期末作业或课程设计项目。 * 作为计算机专业毕业设计的选题之一。 * 作为个人或团队的业余开发项目,用于...

    21天学通Java_6

    揭示如何使用Swin9快速开发图形用户界面程序。 检测对知识的掌握程度。每章末尾都有问题、答案和练习,还有Java认证练习。 洞悉JDBC数据库编程、Internet客户/服务器编程,以及使用开源类库XOM分析XML。 阐述Java 6...

    JAVA上百实例源码以及开源项目

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    JAVA上百实例源码以及开源项目源代码

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    新版Android开发教程.rar

    � 由于是源代码开放的产品,对非主导厂商而言,可以避开与主导厂商在核心技术上面的差距,开发出 更 具竞争力和差异化的产品。 对运营商的影响 � 丰富的数据业务,将导致数据流量的显著增加 。 � 手机来源增加,...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包6

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包5

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包4

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包8

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包7

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包9

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包101

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    Java资源包01

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java源码包---java 源码 大量 实例

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

Global site tag (gtag.js) - Google Analytics