java课程设计总结_java课程设计第一周总结概括

51图像用户界面

使用方式:借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的发送指令,并将运行结果以图形的方式展现给用户

通过抽象窗口工具包(AWT)来创建图形用户界面(GUI)

AWT包主要提供了三大类:

容器类

Ui组件类

帮助类

Jdk1.2以后引入新包swing,在AWT的基础上增加了很多功能

c0fffbef12c06c6972b481a0b9d501f8.png

UI组件

Java的图形用户界面最基本的组成部分是组件,且组件不能单独显示出来,必须放在单独的容器中才可以显示出来

在componen类中定义了AWT组件具有一般功能如:大小,位置控制,外形控制,组件的状态控制等

AWT支持的组件:按钮、标签、文本框、文本去、复选框、单选按钮、滚动条、表格、菜单等……

容器:具有的功能是组件管理和布局管理,组件管理中一般包含的方法:add(),remove(),getcomponent

Container类可以直接或间接的派生两个常用的容器---框架frame类,面板panel类

帮助类

Graphics类,布局管理类(为容器设置此类时可调用容器类中的setlayout()方法),Color类和Font类

容器类组件:分为顶层容器(可以独立的窗口,重要的子类是Frame和Dialog)和非顶层容器(必须位于窗口之内,包括Panle和scrollPane等,Panle的重要子类是Applet类)

开发GUI

第一步:导包

第二步:创建组建的对象

第三步:初始化

创建窗口:方法一:继承。

import java.awt.;

import javax.swing.;

public class Java extends JFrame {

public Java() {

this.setTitle("窗口");

this.setSize(500,500);

this.setLocation(400,300);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public class Test {

public static void main(String[] args) {

new Java();

}

}

}

64c466a55f001b30b02b250ccdb96018.png

方法二:创建子类

public void test() {

JFrame frame=new JFrame();

frame.setTitle("窗口");

frame.setSize(500,500);

frame.setLocation(400,300);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

lable标签

label.fontcolor, label.font, label.fontsize,label.foreground,label.sethorizontalAlignment()—对齐方式……

76ad94a191edca37f1be6428107c00cb.png

按钮 button

private JButton button;

button=new JButton("按钮");

button.setEnabled(false);

ba3211a027dc9e83d5f7059c94fc6f8f.png

布局管理器 layout manager

常用布局:

Flowlayout(流式布局):

Flowlayout():生成一个默认的流式布局

Flowlayout(int alignment):可以设定每一行组件的对齐方式

Flowlayout(int alignment, int horz, int vert): 可以设定组件间的水平和垂直距离

fdd23f89af61b855e7eb4ab7e58d6a36.png

多个按钮:private JButton btn[]=new JButton[10];

for(int i=0;i

btn[i]=new JButton("按钮"+i);

for(int i=0;i

this.add(btn[i]);

95c0f62a27f76221f98c911913d0aaa7.png

Borderlayout(边界布局):

Borderlayout();生成默认的编辑布局

Borderlayout(int horz, int vert): 可以设定组件间的水平和垂直距离

setLayout(new BorderLayout());

add(btn[0],BorderLayout.EAST);

add(btn[1],BorderLayout.WEST);

add(btn[2],BorderLayout.NORTH);

add(btn[3],BorderLayout.SOUTH);

add(btn[5],BorderLayout.CENTER);

de63a0eb42eb5c3c59793f5194033d71.png

Gridlayout (网格布局):

Gridlayout()生成一个单列的网格布局

Gridlayout(int row,int col)生成一个有行数列数的网格布局

setLayout(new GridLayout(4,4,5,5));

for(int i=0;i

this.add(btn[i]);

}

9f497e60e15a2ff95692111cce52e0e1.png

Card Layout(卡片布局)

Boxlayout(框布局〉

GridBagLayout(网格包布局)

空布局:给容器添加组件的时候,组件没有大小,没有位置;需要自行创建大小,并且定位位置(setBounds()--既可以设置大小也可以设置位置)

每个容器( Container对象)都有一个与它相关的缺省的布局管理器。

Appt的缺省布局是 Flowlayout, Frame的缺省布局是 Borderlayout,Panel的缺省布局是

Flowlayout。

文本框 TextField

QQ登录页面代码:

import java.awt.;

import javax.swing.;

public class Login extends JFrame{

private JLabel lname;

private JLabel lpass;

private JTextField tname;

private JTextField tpass;

private JButton login;

private void init() {

lname=new JLabel("用户名");

lpass=new JLabel("密 码");

tname=new JTextField(14);

tpass=new JTextField(14);

login=new JButton("登录");

this.setLayout(new FlowLayout(FlowLayout.CENTER));

this.add(lname);

this.add(tname);

this.add(lpass);

this.add(tpass);

this.add(login);

this.setResizable(false);

this.setTitle("QQ登录");

this.setSize(250,150);

this.setLocation(400,300);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public Login() {

init();

}

}

public class Test {

public static void main(String[] args) {

new Login();

}

}

79cebe9381b27f1449337dfe6b8a904e.png

一、课程设计目的:1. 学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。2. 进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、Java多线程编程、Applet程序的设计、文件和网络输入输出流编程、Java数据库编程等。3. 通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。二、 课程设计总体要求:1. 问题的描述与程序将要实现的具体功能。2. 程序功能实现的具体设计思路或框架,并检查流程设计。3. 代码实现。4. 程序测试(如程序代码、功能测试、可靠性测试和效率测试等)。5. 设计小结(包括)三、 课程设计题目:1. 选做部分1) 利用Socket编程制作一个简单的C/S应用。其中,Client端为GUI程序,用于提供界面输入两个数,并有1个“发送”按钮,另外还有一个 TextField用于显示传来的计算结果;Server端用于监听连接请求、计算发送过来的两数的和、送回数据结果。2) 编一个多线程Applet,实现简单的动画。具体要求:自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;变换速度有HTML文件传入的参数控制(控制sleep时间)。3) 编写Applet,包含两个按钮,一个按钮用于放大Applet上的一串字符串,一个按钮用于缩小;连续点击可不断放大或缩小。4) 设计GUI界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除混合运算。5) 编写生产者/消费者问题的应用程序。生产者以0~200ms的速度随机产生30个小写字母,消费者以0~2s的速度取出字母,并显示在屏幕上。2. 必做部分 根据自己的兴趣,结合实际情况,选取合适题目,利用所学JAVA知识开发一个小型的应用软件。要求:1) 阐述清楚应用程序实现的具体功能和设计思路。2) 所选课题难度不应太简单。3) 所有人的题目及设计不得类同。四、 课程设计报告内容:1) 目录2) 设计题目及具体要求 3) 总体设计思路(简要说明系统包含的java源程序及其功能,描述类之间的主要关系)4) 具体设计(以表格形式描述各个类含有的成员变量和方法,并对关键代码加以说明,显示程序运行界面)5) 总结(包括对本课程的建议)6) 参考资料。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值