`
小篮子java的家
  • 浏览: 32433 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

界面设计第一课

阅读更多
构造函数

格式
   访问修饰符 构造函数名(参数列表){
        //方法体
}
   注意: 一个类中会有一个默认的无参构造 当定义了一个有参构造 则默认的无参构造调用时会
   出现异常
   解决:在类中重写一遍无参构造
  
用途
   1 为属性赋值
   2 实例化对象
     格式:
    类名  对象名 = new 构造函数名(参数值列表)---这里的参数值列表即为要为属性赋的值
与普通方法的区别
  1 构造函数的用途是实例化对象 而普通的方法是来实现对象的功能或行为。
  2 构造函数无返回值 而普通函数必须要有
  3 构造函数的名字必须与类名一致 而普通函数则随便
  4 构造函数每调用一次就实例化一个对象 而普通函数只执行一次



方法重载
条件:
方法的名字 返回值 访问修饰符等都要相同仅参数列表中参数的个数和数据类型可以不同
对应位置上的变化 也是可以的
注意 :
在使用时就根据 重载的方法的参数列表是不同的来判断是哪个方法
 
this关键字
表示当前对象
一般用法是 this.属性名=属性名;表示当前对象的属性
这种情况一般是在 传递的形参名和属性名一致 为了不混淆而采用this.属性名来表示当前对象的属性名


值传递与引用传递
从字面意思很好理解 值传递就是传递的"值" 而引用传递是传递的什么?
值传递是指针对 8和数据类型和String来讲的 传递的是变量复制了一份的值 接收变量的改变不影响传递变量的值
引用传递 是针对引用数据类型来讲 传递的是对象 是将对象名所指向的保存属性和方法的地址 复制一份 传递给形参
接收对象与传递变量指向同一个地址 接收变量改变 则传递变量中的属性和方法发生同样变化

swing
一组图形界面类 awt也是一组图形界面类 swing在任何平台上表现的方式相同
包括容器和组件
   容器   可以在上面加载东西的对象
JFrame  窗体
JPanel  面板
JMenubar 菜单栏
  
   独立组件 不可以在上面加载东西的对象

JLabel 标签     JTextField 文本输入框
JPasswordField  密码输入框
JComoBox 下拉框表 注意下拉框表赋的是一个数组
JCheckBox 复选框
JButton  按钮

   布局
布局类主要位于java.awt包和java.swing包下以Layout结尾的类
一般使用 FlowLayout;
  


实现登陆界面
首先要定义一个登陆界面类
然后再写一个主函界数 在主函数中实例化一个登陆界面对象 然后调用显示面方法
  显示界面的方法
首先实例化一个窗体对象再设置其属性 然后加载各种独立组件任务:
1.实现登录界面
2.再第二节课的基础上添加上构造函数,重载,this,值和引用传递的使用。(重新写)
3.总结:构造函数,重载,this,值和引用传递和swing的概念或介绍。
4.实现一个计算器界面。

1.实现登陆界面
首先要明确实现一个登录界面必须要创建一个类一个主函数一个实现方法
具体的方法是首先必须先实例化一个窗体对象设置其名字,大小,居中显示,
关闭窗口时程序退出,以及其布局
然后再实例化一个“账号”标签加到窗体上,实例化一个文本输入框加到窗体上,
接着实例化一个“密码”标签加到窗体上,实例化一个密码输入框加到窗体上,
依次实例化 下拉框表,复选框,按钮等对象加到窗体上。同时注意下拉框表实例化时参数值列表
是一个数组在此以前要定义一个该下拉框表中应该包括的数据的数组。
最后设置加到窗体上的所有对象是见得

package net.java.t070801;

/**
 * 登录界面类
 * 
 * @author 汤剑男
 */
public class Record {
	/**
	 * 主函数
	 */

	public static void main(String[] args) {
		// 实例化一Record的对象
		Record qq = new Record();
		qq.disPlay();
	}

	/**
	 * 定义一个显示界面的方法
	 */
	public void disPlay() {
		// 实例化一个JFrame的对象
		javax.swing.JFrame a = new javax.swing.JFrame("QQ2011");
		a.setSize(300, 200); // 设置窗体的大小为宽度是300高度是200
		a.setResizable(false); // 设置窗体不可变小
		a.setLocationRelativeTo(null); // 设置窗体居中显示
		a.setDefaultCloseOperation(3); // 关闭窗口即退出程序
		java.awt.FlowLayout b = new java.awt.FlowLayout();// 设置一个窗体的布局为流量布局变量
		a.setLayout(b);
		javax.swing.JLabel c = new javax.swing.JLabel("账号:");// 设置一个账号标签
		a.add(c);
		javax.swing.JTextField d = new javax.swing.JTextField(20);// 设置一个账号输入框
		a.add(d);
		javax.swing.JLabel e = new javax.swing.JLabel("密码:");// 设置一个密码标签
		a.add(e);
		javax.swing.JTextField f = new javax.swing.JTextField(20);// 设置一个密码输入框
		a.add(f);
		javax.swing.JLabel g = new javax.swing.JLabel("状态:");// 设置一个状态标签
		a.add(g);
		String[] items = { "我在线上", "Q我吧", "离开", "忙碌", "请勿打扰", "隐身" };
		javax.swing.JComboBox h = new javax.swing.JComboBox(items);// 设置一个下拉框表
		a.add(h);
		javax.swing.JCheckBox i = new javax.swing.JCheckBox("记住密码");// 设置一个记住密码的复选框
		a.add(i);
		javax.swing.JCheckBox j = new javax.swing.JCheckBox("自动登录");// 设置一个自动登录的复选框
		a.add(j);
		javax.swing.JButton k = new javax.swing.JButton("设置");// 设置一个设置的按钮
		a.add(k);
		javax.swing.JButton l = new javax.swing.JButton("登录");// 设置一个登录的按钮
		a.add(l);
		a.setVisible(true); // 设置窗体可见
	}
}



2.
再第二节课的基础上添加上构造函数,重载,this,值和引用传递的使用。(重新写)
首先明确一个人阅读书这个程序必须包括三个类 分别是people类book类和main类
依次介绍这三个类的功能;
首先对于people类要明确其中必须要设置people的属性名字和工资
然后要使用到构造方法来为属性赋值,同时当属性名和形参名相同时为了区别传递的过来的属性值和当前值,
在构造方法中要有this.()属性名=属性名这样的方法体。
接下来还要创建一个read的方法同时使用引用传递即其形参列表为book类的对象
最后注意要重载一个read类,注意使2个read方法的输出值不同,好明确究竟是调用了那个read。
对于book类 首先必须设置其名字属性,然后建立一个构造方法完成属性的赋值,最后还要注意
因为其属性是封装的但是在people类中要使用其name属性所有还要有个get函数 返回对象的属性
使其可以在外部类调用仍可以用getName()输出其属性。
对于main类主要是完成people和book类对象的实例化,然后完成对read方法的调用 完成目的
package net.java.t070801;
/**
 * 实现人类
 * @author 汤剑男
 */
public class People {
	
	private String  name;//名字属性
	private int  salary;//工资属性
      
	//构造方法(值传递)
	public People(String name,int salary ){
		     this.name=name;
		     this.salary=salary;
	}
	//自定义一个阅读方法 参数为引用类型
	public void read(Book b1) {
		// 输出信息
		System.out.println(this.name+"正在看"+b1.getName()+"工资现在是"+(this.salary+100));
	}
    //阅读方法的重载
	public void read() {
		// 输出信息
		System.out.println(this.name+"正在看书"+"工资现在是"+(this.salary+50));
	}

}


package net.java.t070801;
/**
 * 创建一个Book类
 * @author 汤剑男
 *
 */
  public class Book {
	  
	  private String name;//设置名字的属性
	  //构造函数(值传递)
	  public  Book (String name){
		  this.name=name;
	  }
       //设置一个get函数返回name值
	  public String getName(){
		  return this.name;
	  }
}


package net.java.t070801;
/**
 * @author 汤剑男
 */
public class Main {

       //主函数
	public static void main(String[] args) {
		//实例化一个Book对象传递值
		Book b = new Book("java");
		//实例化一个People对象
		People p=new People("张三",2000);
		//调用带参数的read方法传递对象b
		p.read(b);
		//调用不带参数的read方法
		p.read();
	}

}


4.实现一个计算器界面。
一个计算器界面主要有四种对象形成为别是窗体对象 标签对象 文本输入框对象 还要按钮对象
而编写一个计算器界面还必须有3个块 分别是类 主函数 实现函数
四种对象都存在在实现函数中
首先实例化一个窗体对象 设置其名字 大小 关闭时退出程序 居中显示 布局
然后给窗体加上各种独立组件
同时要注意加载组件时要考虑其位置 大小 否则 编写出的界面会很不符合意愿
package net.java.t070801;

/**定义一个Counter类
 * @author 汤剑男
 */
public class Counter {
	// 主函数
	public static void main(String[] args) {
		//实例化一个对象
		Counter jf = new Counter();
		jf.display();
	}
		//定义一个显示方法
		public void display(){ 
			javax.swing.JFrame a = new javax.swing.JFrame("计算器");
			a.setSize(400,520);
			a.setResizable(false);
			a.setLocationRelativeTo(null);
			a.setDefaultCloseOperation(2);
			//java.awt.FlowLayout b =new java.awt.FlowLayout();
			a.setLayout(null);
			javax.swing.JLabel c = new javax.swing.JLabel("查看(V)");
			c.setBounds(20, 0, 60, 30);
			a.add(c);
			javax.swing.JLabel d = new javax.swing.JLabel("编辑(E)");
			d.setBounds(150, 0, 60, 30);
			a.add(d);
			javax.swing.JLabel e = new javax.swing.JLabel("帮助(H)");
			e.setBounds(320, 0, 60, 30);
			a.add(e);
		    javax.swing.JTextField f = new javax.swing.JTextField(20);
		    f.setBounds(20, 40, 360, 80);
			a.add(f);
			javax.swing.JButton g =new javax.swing.JButton("MC");
			g.setBounds(10, 140, 60,40);
			a.add(g);
			javax.swing.JButton h =new javax.swing.JButton("MR");
			h.setBounds(90, 140, 60, 40);
			a.add(h);
			javax.swing.JButton i =new javax.swing.JButton("MS");
			i.setBounds(170, 140, 60, 40);
			a.add(i);
			javax.swing.JButton j =new javax.swing.JButton("M+");
			j.setBounds(250, 140, 60, 40);
			a.add(j);
			javax.swing.JButton k =new javax.swing.JButton("M-");
			k.setBounds(330, 140, 60, 40);
			a.add(k);
			javax.swing.JButton g1 =new javax.swing.JButton("<—");
			g1.setBounds(10, 200, 60, 40);
			a.add(g1);
			javax.swing.JButton h1 =new javax.swing.JButton("CE");
			h1.setBounds(90, 200, 60, 40);
			a.add(h1);
			javax.swing.JButton i1=new javax.swing.JButton("C");
			i1.setBounds(170, 200, 60, 40);
			a.add(i1);
			javax.swing.JButton j1 =new javax.swing.JButton("±");
			j1.setBounds(250, 200, 60, 40);
			a.add(j1);
			javax.swing.JButton k1=new javax.swing.JButton("√");
			k1.setBounds(330, 200, 60, 40);
			a.add(k1);
			javax.swing.JButton g2 =new javax.swing.JButton("7");
			g2.setBounds(10, 260, 60, 40);
			a.add(g2);
			javax.swing.JButton h2 =new javax.swing.JButton("8");
			h2.setBounds(90, 260, 60, 40);
			a.add(h2);
			javax.swing.JButton i2=new javax.swing.JButton("9");
			i2.setBounds(170, 260, 60, 40);
			a.add(i2);
			javax.swing.JButton j2 =new javax.swing.JButton("/");
			j2.setBounds(250, 260, 60, 40);
			a.add(j2);
			javax.swing.JButton k2=new javax.swing.JButton("%");
			k2.setBounds(330, 260, 60, 40);
			a.add(k2);
			javax.swing.JButton g3 =new javax.swing.JButton("4");
			g3.setBounds(10, 320, 60, 40);
			a.add(g3);
			javax.swing.JButton h3 =new javax.swing.JButton("5");
			h3.setBounds(90, 320, 60, 40);
			a.add(h3);
			javax.swing.JButton i3=new javax.swing.JButton("6");
			i3.setBounds(170, 320, 60, 40);
			a.add(i3);
			javax.swing.JButton j3 =new javax.swing.JButton("*");
			j3.setBounds(250, 320, 60, 40);
			a.add(j3);
			javax.swing.JButton k3=new javax.swing.JButton("1/x");
			k3.setBounds(330, 320, 60, 40);
			a.add(k3);
			javax.swing.JButton g4 =new javax.swing.JButton("1");
			g4.setBounds(10, 380, 60, 40);
			a.add(g4);
			javax.swing.JButton h4 =new javax.swing.JButton("2");
			h4.setBounds(90, 380, 60, 40);
			a.add(h4);
			javax.swing.JButton i4 =new javax.swing.JButton("3");
			i4.setBounds(170, 380, 60, 40);
			a.add(i4);
			javax.swing.JButton j4 =new javax.swing.JButton("-");
			j4.setBounds(250, 380, 60, 40);
			a.add(j4);
			javax.swing.JButton k4 =new javax.swing.JButton("=");
			k4.setBounds(330, 380, 60, 100);
			a.add(k4);
			javax.swing.JButton g5 =new javax.swing.JButton("0");
			g5.setBounds(10, 440, 140, 40);
			a.add(g5);
			javax.swing.JButton h5 =new javax.swing.JButton(".");
			h5.setBounds(170, 440, 60, 40);
			a.add(h5);
			javax.swing.JButton i5 =new javax.swing.JButton("+");
			i5.setBounds(250, 440, 60, 40);
			a.add(i5);	
			a.setVisible(true);
		}
}



  • 大小: 43.3 KB
  • 大小: 16.7 KB
分享到:
评论

相关推荐

    移动UI界面设计(微课版)教材配套资源.rar

    《移动UI界面设计(微课版)》一书由张晓景和李晓斌两位专家撰写,旨在为读者提供关于这一领域的深入理解和实践指导。 本书内容可能涵盖了多个关键知识点,包括但不限于: 1. **UI设计基础**:介绍UI设计的基本...

    Android APP 登陆界面设计

    在Android平台上,APP登录界面设计是一项至关重要的任务,因为它不仅是用户与应用的第一次交互,而且直接影响到用户体验和对应用的第一印象。"Android APP 登陆界面设计"这一主题涵盖了多个方面的内容,包括界面布局...

    儿童编程 第一课.docx

    【儿童编程第一课】主要介绍了为什么儿童应该学习编程以及如何通过Scratch软件进行编程入门教育。编程教育在当今信息化时代显得越来越重要,因为新技术革命正在全球范围内快速发展,我国政府也鼓励普及编程教育。...

    厦门大学 C语言程序设计 第一课课件

    ### 厦门大学 C语言程序设计 第一课课件 #### 课程概述与目标 本课程《C语言程序设计》是由厦门大学计算机科学系林子雨教授主讲,面向非计算机专业本科生开设的公共课程。课程旨在让学生掌握C语言的基础知识及程序...

    JAVA学习第一课 H

    Java学习第一课 H 在Java学习的初期,我们通常会从基础语法和核心概念开始,以便为后续的深入学习打下坚实的基础。本课“JAVA学习第一课 H”聚焦于Java编程语言的基本要素,帮助初学者理解这个强大而广泛使用的编程...

    JAVA学习第一课 I.

    Java学习第一课,是编程之旅的起点,尤其对于那些对编程世界充满好奇的初学者而言。Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它的设计目标是具有高度的可...

    图形界面第2次课.rar

    学习者将了解如何使用Java Swing库来构建交互式用户界面,并掌握如何将业务逻辑与界面设计相结合,以创建功能完备的应用程序。对于初学者来说,这是一个很好的起点,对于有经验的开发者,这些实例也可以作为参考和...

    网站界面设计教案.doc

    第一部分"界面设计基础",主要教授界面的发展历程、基本构成元素、设计原则以及软件界面的异同。教学难点在于软件工具的基础操作,需要学生通过大量练习掌握这些工具的使用。 综上所述,本课程通过系统的理论学习和...

    Unity4.0界面介绍:第一课项目视图2

    Unity 4.0 的界面设计注重效率和便捷性,尤其在项目视图中,开发者能够高效地管理和查找项目资源。项目视图是Unity编辑器的核心组成部分之一,它充当了一个资源库的角色,允许用户轻松访问和组织游戏开发所需的所有...

    《易语言图形界面设计》D.doc

    在第一课中,读者将学习如何安装图形设计软件,掌握抓图技巧,创建新图片,理解图层概念,以及如何使用图层面板进行操作。这些基础知识是构建复杂图形界面的基础,通过逐步指导,读者将逐渐掌握设计专业图形界面的...

    第一课 室内设计的概念与3DMAX的基础知识资料.pdf

    "第一课 室内设计的概念与3DMAX的基础知识" 本文档主要讲解了室内设计的概念和3DMAX的基础知识。通过本课的学习,学生将了解室内设计的概念、3DMAX的操作界面和基本工具的使用。 室内设计的概念 室内设计展示是...

    UI设计体验课

    1. **色彩理论**:色彩在UI设计中扮演着至关重要的角色,因为它能够影响用户的情绪和对产品的第一印象。学习如何选择和搭配颜色,理解色彩的心理效应,以及在设计中运用色彩层次和对比度,都是UI设计师需要掌握的...

    Allegro基础训练第一课

    《Allegro基础训练第一课》是一门专为初学者设计的课程,旨在引导学员从零开始学习如何使用Allegro这一强大的PCB设计软件。Allegro作为Cadence公司旗下的核心产品之一,在电子设计自动化(EDA)领域享有盛誉,广泛...

    Python程序设计-第一课-初识python初中生.pptx

    "Python程序设计-第一课-初识python初中生"这篇文档旨在引导初中生了解Python的基本概念和使用环境。 首先,问题1提出了一个互动环节,询问学生们如何度过休闲时光,这不仅是为了引入话题,也是为了激发学习兴趣,...

    手机Python图形界面教程

    #### 第一课:图形界面标准模版 - **主要内容**:介绍了一个简单的图形界面程序的标准模板。 - **关键知识点**: - 使用`import`导入必要的模块(如`appuifw`, `graphics`, `e32`)。 - 定义一个全局变量`running`...

    黑月系列教程第一课

    【黑月系列教程第一课】是一系列针对"黑月"这一主题的教程,旨在帮助学习者掌握关于黑月的相关知识,包括工具的获取与安装,以及如何使用黑月资源编辑器进行界面元素如窗口、按钮和编辑框的操作。在本教程中,我们将...

    Java第一课

    - **Java EE**(企业版):专为大型企业级应用设计,提供了一套构建分布式系统的服务和API,如Servlets、JSP、Struts、EJB、Hibernate、Spring框架等。这些技术主要用于Web开发,涵盖了从静态HTML、CSS到动态网页和...

    DreamweaverCS5自学教程-第一课:网页设计基础.pdf

    在本篇Dreamweaver CS5自学教程的第一课中,我们将探讨网页设计的基础概念,以及如何使用这个强大的工具来创建和管理网站。Dreamweaver CS5是Adobe公司出品的一款专业级的网页设计和开发软件,它提供了直观的界面和...

    从CWnd自绘第一课之按钮

    本文将深入探讨如何使用CWnd类来实现自定义绘制的按钮控件,这是初学者学习CWnd自绘的第一课。通过这个过程,你将了解如何处理窗口消息、响应鼠标事件以及如何发送消息。 首先,我们要明白,自绘控件意味着我们需要...

Global site tag (gtag.js) - Google Analytics