`
19941021
  • 浏览: 5237 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • ayaome: ...
    java
  • 19941021:     明白了!谢谢了!
    java
  • ayaome: head属于LinkList类的属性你加个static关键字, ...
    java
  • 19941021:      这是因为在主函数中调用遍历链表的方法时要传入链表头的 ...
    java
  • ayaome: public static LinkNode head=nul ...
    java
阅读更多
            SWING界面开发(API文档的使用)¬¬¬

1.swing组件
构建界面的类,系统封装的类。
如果用到需引进它所在的包(打包快捷键ctrl+shift+o)
所在的包    javax.swing
               java.awt
2.常用的swing组件
1.容器组件:
JFrame(窗体) 顶级容器  (JPanel,元素组件)
JPanel(面板) 容器 (JPanel,元素组件)

2.元素组件:
JButton(按钮)//可以添加图片
JLabel(标签)//字符串,可以添加图片
JComboBox(组合框)
JPasswordField(密码输入框)
JCheckBox(复选框)
JTextField (文本输入框)

打包快捷键ctrl+shift+O

3.布局(常用)
   1)   边框布局BorderLayout
   2)   流布局FlowLayout
   3)   绝对布局 (空布局)  setLayout(null)
4.API文档的使用(eclipse的编程)
  用法:若知道类名,可以搜索到这个类,再找方法名(快捷键ctrl+F);或者根据程序的功能在网上搜索方法和类,再在API文档中查找方法说明和代码。
5.对封装的理解
   封装就是把属性和方法一起包装到一个程序单元中,并隐藏方法的实现过程,这个程序单元以类的形式实现。
  封装的含义:1)隐藏内部行为,即隐藏内部函数,调用者只能看到对外提供的公共函数
             2)隐藏内部信息,即隐藏内部数据成员
  封装的作用:1)可以隔离变化
                原因对象内部容易变化,如计算机中把CPU和内存封装起来,对外提供接口,只要接口不变,内部的变化不会影响到用户的使用方式。
             2)可以提高易用性
                封装后只暴露最少的信息给用户,对外接口清晰,使用更方便。

6.项目实例来说明
  
package swing界面;
import javax.swing.ImageIcon;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class GUI {
	
	public static void main(String[] args) {
		GUI ui = new GUI();
		//使用对象调用方法
		ui.initUI();
		}
	
	
	//定义创建界面的方法
	public void initUI(){
		//创建窗体对象
		JFrame jf = new JFrame();
		//设置标题
		jf.setTitle("QQ");
		
		//设置窗体的大小
		jf.setSize(405, 302);
		//设置默认的关闭操作
		jf.setDefaultCloseOperation(3);
		
	
		//设置窗体的布局为绝对布局
	       jf.setLayout(null);
		
		
		//实例化按钮对象
		JButton btn1 = new JButton("登录");
		//设置按钮的位置和大小
		btn1.setBounds(180, 230, 60, 30);
	     //把按钮添加到窗体上
		jf.add(btn1);
		
		
		ImageIcon image = new ImageIcon("F:\\编程图片专用\\juejian.jpg");
	    //实例化一个JLabel的标签对象,该对象现实一张图片
		JLabel j1 = new JLabel(image);
		//设置图片标签的位置
		j1.setBounds(20, 73, 100, 100);
		jf.add(j1);
		
		//新建一个ImageIcon的对象,在对象中添加一个图片的路径
		ImageIcon im = new ImageIcon("F:\\编程图片专用\\f.jpg");
		//实例化一个Button的标签对象,该对象现实一张图片
		JButton btn2 = new JButton(im);
		btn2.setBounds(38,230,41,36);
		jf.add(btn2);
		
		//新建一个ImageIcon的对象
		ImageIcon ima = new ImageIcon("F:\\编程图片专用\\s.jpg");
		JButton btn3 = new JButton(ima);
		btn3.setBounds(320,230,43,39);
		jf.add(btn3);
		
		//设置背景图片
		ImageIcon icon = new ImageIcon("F:\\编程图片专用\\bj.gif");
		//创建标签对象
		JLabel j2 = new JLabel(icon);
	    j2.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight());	    
	    //把标签添加在JFrame的添加背景层	    
        jf.getLayeredPane().add(j2, new Integer(Integer.MIN_VALUE));
		//把JFrame 的上层设置为透明
		JPanel jp = (JPanel)jf.getContentPane();
		jp.setOpaque(false);
	    
	    
	   
	   	
	   	
		
		//实例化标签对象
		JLabel jl = new  JLabel("注册账户");
		JLabel jl1 = new JLabel("输入密码");
		JLabel jl2 = new JLabel("记住密码");
		JLabel jl3 = new JLabel("自动登录");
		
		//设置标签的位置和大小
		jl.setBounds(256,85, 60, 20);
		jl1.setBounds(256,115,60,20);
		jl2.setBounds(160,140,60,20);
		jl3.setBounds(230,140,60,20);
		jf.add(jl2);
		jf.add(jl3);
		jf.add(jl1);
		jf.add(jl);
		
		//实例化组合框对象
		javax.swing.JComboBox jc3 = new javax.swing.JComboBox();
		//使组合框可以输入
	    jc3.setEditable(true);	
	    //设置组合框的大小
    	jc3.setBounds(150,80,100,20);
		jf.add(jc3);
		
		
		//创建密码输入框
		javax.swing.JPasswordField jp1=new javax.swing.JPasswordField();
		jp1.setBounds(150,110,100,20);
		jf.add(jp1);
		
		//创建复选框
		javax.swing.JCheckBox jc1=new javax.swing.JCheckBox();
		javax.swing.JCheckBox jc2=new javax.swing.JCheckBox();
		jc1.setBounds(140,145,16,15);
		jc2.setBounds(214,145,16,15);
		jf.add(jc2);
		jf.add(jc1);
		
		//使窗体可见
		jf.setVisible(true);
	}

}


简单计算器
 
package 简单登录界面;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class GUI {
	public static void main(String args[]){
		GUI ui=new GUI();
		ui.initUI();
	}
	
      public void initUI(){   
        //创建一个窗体对象
	     JFrame jf=new JFrame("计算器");
	     //设置窗体的大小
	     jf.setSize(new Dimension(370,390));
	     //设置关闭时的操作
	     jf.setDefaultCloseOperation(3);
	     //设置窗体出现的位置为屏幕的中间
		 jf.setLocationRelativeTo(null);
		 
		 //创建菜单栏对象
		 JMenuBar menuBar = new JMenuBar();
		 //把菜单栏添加在菜单上
		 jf.setJMenuBar(menuBar);
		 
		 //创建菜单对象
		 JMenu menuV= new JMenu("查看(V)");
		 JMenu menuE = new JMenu("编辑(E)");
		 JMenu menuH = new JMenu("帮助(H)");
		 //把菜单添加在菜单栏上
		 menuBar.add(menuV);
		 menuBar.add(menuE);
		 menuBar.add(menuH);
		 
		 //这个菜单为menuV的下一级菜单
		 JMenu menuVw= new JMenu("工作表(W)");
		 menuV.add(menuVw);
		 
		 //创建menuVw的菜单项
		 String array1 []={"抵押(M)","汽车租赁(V)","油耗(mpg)(F)",
				 "油耗(1/100km)(U)"};
		 for(int i=0;i<array1.length;i++){
			 JMenuItem itemW= new JMenuItem(array1[i]);
			 menuVw.add(itemW);
		 }
		 
		 //把数组存放菜单项,用循环语句创建菜单项对象
		 String array2 []={"标准型(T)  Alt+1","科学型(S)  Alt+2",
				 "程序员(P)  Alt+3","统计信息(A)  Alt+4","历史记录    ctrl+N",
				 "数字分组(I)","基本(B)  ctrl+f4","单位转换(U) ctrl+U",
		 		"日期计算(D)  ctrl+E"};
		 for(int j=0;j<array2.length;j++){
			 JMenuItem itemV= new JMenuItem(array2[j]);
			 menuV.add(itemV);	 
		 }
		 
		 //创建menuE的菜单项
		 JMenuItem C = new JMenuItem("复制    ctrl+C");
		 JMenuItem V =new  JMenuItem  ("粘贴    ctrl+V");
		 JMenuItem N= new JMenuItem("历史记录    ctrl+N");
		 menuE.add(C);
		 menuE.add(V);
		 menuE.add(N);
		 
		 //创建menuH的菜单项
		 JMenuItem F1 = new JMenuItem("关于帮助(V) F1");
	     JMenuItem A1 = new JMenuItem("关于计算器(A)");		 
		 menuH.add(F1);
		 menuH.add(A1);
		 
		 
		 /**
		  * 窗体默认的布局为边框布局
		  * 用面板把窗体分为北,西,东三部分
		  * 北边面板放文本输入框
		  * 西边和东边采用流布局添加按钮
		  * 面板默认的布局方式为流布局
		  * 用数组存放按钮,for循环创建对象
		  * 和其他按钮的大小不同的用if条件语句判断
		  */
		 JPanel jpNorth = new JPanel ();
		 JPanel jpWest  =  new JPanel ();
		 JPanel jpEast  =  new JPanel ();
		 jpNorth.setPreferredSize(new Dimension(0,70));
		 jpEast.setPreferredSize(new Dimension(85,0));
		 jpWest.setPreferredSize(new Dimension(285,0));
		 
		//东边面板流布局,左对齐,每个按钮之间的水平距离和竖直距离 
		 jpEast.setLayout(new FlowLayout(FlowLayout.RIGHT,0,6));
		  //西边面板流布局,左对齐,每个按钮之间的水平距离和竖直距离
		 jpWest.setLayout(new FlowLayout(FlowLayout.LEFT,9,6));
		 jf.add(jpNorth,BorderLayout.NORTH);
		 jf.add(jpWest,BorderLayout.WEST);
		 jf.add(jpEast,BorderLayout.EAST);
		 
		 
		 
		 //创建文本输入框对象
		 JTextField jt=new JTextField();
		 jt.setPreferredSize(new Dimension(340,80));
		 jpNorth.add(jt);
		 
		 //创建东边面板上按钮的对象
		 String array3[]={"M-","√","%","1/x","=", };
		 for(int k=0;k<array3.length;k++){
			 JButton buttonE=new JButton(array3[k]);
			 if(k<4){
				 buttonE.setPreferredSize(new Dimension(62,35));
			 }
			 else{
				 buttonE.setPreferredSize(new Dimension(62,75));
			 }
			 jpEast.add(buttonE);
		 }
		//创建西边面板上 按钮的对象
		 String array4[]={"MC","MR","MS","M+"," ","CE","C","±",
				 "7","8","9", "/","4","5","6","*","1","2","3",
				 "-","0",".","+"};
				 
		 for(int m=0;m<array4.length;m++){
			 JButton buttonW=new JButton(array4[m]);
		     if(m==20){
		    	 buttonW.setPreferredSize(new Dimension(130,35));
		     }
		     else{
		    	 buttonW.setPreferredSize(new Dimension(62,35)); 
		     }
		     jpWest.add(buttonW);
		 }
		 //使窗体显现出来
		  jf.setVisible(true);
      }
	

}
 

运行结果

  • 大小: 45 KB
  • 大小: 34.5 KB
分享到:
评论

相关推荐

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

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

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...

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

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包4

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包3

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java api最新7.0

    JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...

    java开源包11

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包4

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包6

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包9

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包5

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包8

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包10

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    java开源包1

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包3

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    [Java] Java 编程面试揭秘 英文版

    Java is a popular and powerful language that is a virtual requirement for businesses making use of IT in their daily operations For Java programmers this reality offers job security and a wealth of ...

    Java 中文入门学习手册合集[chm版]

    第一章 Java语言的产生及其特点 第二章 Java程序开发与运行环境 第三章 Java程序设计基础 第四章 Java应用程序的基本框架 第五章 Java的类 第六章 Java图形用户接口 第七章 多线程 第八章 Java的"异常" 第九...

Global site tag (gtag.js) - Google Analytics