java程序设计报告?java程序设计实验
大家好,如果您还对java程序设计报告不太了解,没有关系,今天就由本站为大家分享java程序设计报告的知识,包括java程序设计实验的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
java毕业设计开题报告
毕业设计(论文)开题报告
专业:通信工程
班级: xx级通信工程一班
姓名: XXX
指导教师姓名: XXX
指导教师职称:讲师
20xx年 xx月
1.本课题的研究意义,国内外研究现状、水平和发展趋势
1.1本课题研究的意义
随着企业管理现代化意识的不断增强,普通意识上的门锁系统已经不能满足企业现代管理的要求。电子化门禁系统的出现,极大方便了人们对出入口的管理,并迅速开始普及应用。
近年来,门禁系统由于其本身的优势,已经悄然兴起,包括邮电系统,供电系统,银行系统,住宅小区,公司实体等各种类型的场所都已有使用门禁系统的范例,通过这套系统的使用极大地提高了管理者的工作效率和管理区域内的安全程度。
门禁系统采用个人识别卡的方式工作。给每个有权进入的人发一张个人识别卡,相当于一把钥匙。系统根据该卡的卡号和当前时间等信息,判断该卡持有人是否可以进入(或出去),如果可以,系统自动开门。对于企业、机关等需要考勤的场所,门禁系统还可以记录每个职工是否按时上下班。门禁系统的另一个优点是可以随时增加和删除某一卡而不必担心某一卡丢失后造成什么损失。
1.2国内外研究现状、水平和发展趋势
门禁系统的基本含义就是出入口控制系统。它的作用在于管理人群进出管理区域,限制未经授权者进出特定区域,并使已授权者在进出上更便捷,而且根据实际需要来查询一系列记录。门禁系统是在建筑物内的主要管理区的出入口、电梯厅、主要设备控制中心机房、贵重物品库房等重要的部位的通道口安装磁门、电控锁或读卡器等控制装置,由中心控制器监控,系统采用计算机多重任务的处理,能够对各通道口的位置,通过对象及通行时间进行实时控制或设定程序控制,适应小区、办公楼的安全的管理。
传统的机械门锁仅仅是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能通过各种手段把它打开。在人员变更频繁的场所(如办公室,酒店客房)钥匙的管理很麻烦,在一些大型机关、企业,钥匙的管理成本很高,钥匙丢失或人员更换时往往要把锁和钥匙一起更换。特别是传统机械钥匙容易出现重复,而且出入没有记录,旗安全性非常差。为了弥补上述问题于是出现了电子磁卡锁,电子密码锁,这从一定程度上提高了人们对出入口通道的管理的程度。但他们本身的缺陷就逐渐暴露。磁卡锁的问题是信息容易复制,卡片与读卡机之间磨损大,故障率高,安全系数低。密码锁的问题是密码容易泄露。这个时期的门禁系统和高还停留在早期不成熟阶段,因此当时的门禁系统通常被人称为电子锁,应用也不广泛。
最近几年随着数字技术网络技术飞速进步和感应卡技术,生物识别技术的发展,门禁系统得到了飞跃式的发展,出现了感应式门禁系统,指纹门禁系统,虹膜门禁系统,面部识别门禁系统,乱序键盘门禁系统等各种技术的系统,而且门禁系统早已超越了单纯的门道及钥匙管理科,它已经逐渐发展成为一套完整的出入管理系统。门禁系统的应用领域也越来越广。是人们在公共场所实施进出口管理最有效的工具。它在工作环境安全、人事考勤管理、大规模人员出入等管理工作中发挥着巨大的作用。
随着电子芯片的高度集成化,门禁系统的功能也变得越来越完善和简捷,而且越来越容易操作。门禁系统的发展过程如下:
1、第一代门禁
单一的键盘输入密码方式。常常会有因忘记密码而被拒之门外的尴尬事情发生。
2、第二代门禁
接触式卡门禁系统。所用的接触式卡片有磁码卡和铁码卡。磁码卡是把磁质贴在塑料卡片上制成的。磁片可以改写,应用方便。其缺点是易消磁、易磨损。铁马卡片中间用特殊的金属线排列编码,采用金属磁烧的原理制成,不易被复制、铁码卡可有效的防磁、防水、防尘,是安全性较高的一种卡。这种非门禁系统虽然有些改进,但是如果卡片不小心被消磁或弄脏,进入人员将被拒之门外。
3、第三代门禁
感应卡,即非接触式IC卡一般指无源IC卡,卡片采用了先进的半导体制造技术和信息安全技术,利用电子回路及感应线圈在读卡器本身产生的特殊震荡频率,当卡片进入读卡器能量范围产生共振,感应电流使电子回路发射信号到读卡器,经读卡器将接受的信号转换成卡片资料,送到控制器对比。
4、第四代门禁
生物识别系统。它包括指纹机、掌纹机、视网膜识别机和声音识别装置等。指纹和掌纹识别用于安全性较高的出入口控制系统,视网膜识别机和声音识别装置在正常情况下安全性极高,但若视网膜充血或病变以及感冒等疾病会影响使用。
以上几代门禁系统中,磁码卡价格便宜,仍被使用;铁码卡和感应式保安性能好,现在比较流行;生物辨别技术安全极高,一般应用在军政要害部门或银行金库等场所。
由于磁卡、接触式IC卡对于操作环境的要求较高,磁卡及IC卡本身的工作有一定寿命期,再加之识别过程中操作者的动作和所需时间明显多于非接触式卡,因而,从目前全球门禁系统的前端输入设备的水平及发展方向来看,虽然磁卡、接触式IC卡、读卡器在门禁系统的应用中还有一部分市场,但从发展趋势上看,非接触式智能卡势必将全面取代磁卡、IC卡市场。
2、本课题的基本内容,预计可能遇到的困难,提出解决问题的方法和措施
2.1基本内容
本课题主要是在现有网站资源基础上,研究并设计出成本经济、安全可靠、方便迅速门禁系统。本课题研究的内容是:
1、研究分析门禁系统的基本组成结构,需要使用的开发工具以及各种参考资料。
2、了解用户的需求,能够快速准确的定位系统需要实现的功能以及系统的操作流程。
3、根据用户提供的需求说明,以及系统要实现的功能,设计出相应的系统功能模块、数据库、系统总体设计图。
4、确定系统开发的任务书,合理分配各阶段的时间。完成相关的技术文档,并给予详细的说明。
5、完成系统的详细设计,设计各个功能模块,以及各个模块之间的关系。
6、研究当前网络上资源和已有系统,为在开发后能结合相关系统做好准备。
2.2可能遇到的困难,提出解决问题的方法和措施
本课题主要是介于struts等开发框架进行设计,结合javascript、oracle、apache进行开发。对于struts等开发框架的了解还不够深入,时常需要在网上查看资料。门禁系统的需求都是根据公司客户要求实现,对于一些特殊的要求需要特别的分析。还有对于一些误操作需要事先考虑到和设置相应的异常处理。
3.本课题拟采用的研究手段(途径)和可行性分析
对本方案的可行性分析
本次软件项目可行性研究报告是对项目课题的全面通盘考虑,是项目分析员进行进一步工作的前提,是软件开发人员正确成功的开发项目的前提与基础.
写软件项目可行性研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,就可以少花费时间和精力,并且避免了许多专业方面的困难.所以该软件项目可行性研究报告在整个开发过程中是非常重要的。
本系统从技术可行性、经济可行性、操作可行性、方案可行性四个方面分析研究。
1、技术可行性
应用Java技术进行系统开发。Apache是最通用的网络服务器;Oracle是强大的关系数据库;Java是目前最流行的编程语言。
鉴于目前成熟的Java技术,该系统可以完整的完成。
2、经济可行性
本系统使用Oracle数据库管理系统,前端采用eclipse作为应用开发工具,容易购买,价格低廉。开发此系统并投入使用,安装简单,成本低廉,易于维护和升级,开发周期短,经济效益高。
本系统要求的计算机配置不是很高,需要操作系统,应用软件和数据库管理等软件,基础投资建设成本不是很高。支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。所以,在经济上是可行的。
3、操作可行性
本系统需要一台WEB服务器,配置要求与客户量相关,对于普通公司内使用,一台普通的服务器即可。当前的主流服务器完全可以满足要求。对于客户端,只需要客户端装有浏览器即可,对机器本身没有太高的要求,一般电脑都可满足要求。
4、方案可行性
本系统致力于设计出能够满足大楼管理需求,实现工作环境安全、人事考勤管理、大规模人员出入等管理工作,其带来的经济效益非常好,所以本方案是可行的。
我精心推荐
JAVA实训报告
1、实训的题目及简介:
题目:java计算器应用程序
简介:通过本程序可以实现计算器的基本功能。程序是Frame类的子类。使用GridLayout的布局方式对组件进行布局,用Panel类的容器存放按扭、文本框组件,程序中也用到大量的else-----if语句。
2、设计说明:
一实验目的
通过实训能够结合实例进一步理解面向对象程序设计的基本概念,掌握程序设计的基本方法和技巧,灵活的使用包,进一步的理解接口,熟练的掌握在接口中对事件的实现。深入理解和灵活运用面向对象程序设计的基本特性,培养良好的程序设计风格,提高抽象思维、逻辑思维的能力。
二实验内容
编写一个实现计算器应用程序
三程序介绍及其功能的实现
程序需要导入import java.awt.*、 import java.awt.event.*、 import java.lang.*、 import javax.swing.*包。①程序的基本框架是:首先定义一个Frame类的子类,之后声明三个面板的布局,即定义了GridLayout类的三个对象gl1、gl2、gl3。之后是定义了Panel类的容器的四个对象p0、p1、p2、p3,其中p0用来存放显示屏文本框组件,p1采用gl1布局,用来存放删除和归零按钮,p3采用gl3布局,用来存放数字按钮和运算符按钮,p2采用gl2布局,用来存放其它功能按钮键按钮。②具体的实现过程是:⑴、程序定义了JTextField类的对象tf1和TextField类的对象tf2及26个button类的按钮,在Counter类的构造方法中分别对各个对象进行了初始化,对面板进行了合适的布局,各个按钮也相应的添加到相应的容器中,在实例化所有按钮、设置其前景色的同时并注册监听器。
⑵、对各个组件进行相应的设计之后,即程序运行之后的可视化界面完成之后开始实现程序内部的事件过程,即接口的实现。定义了一个名为 Bt的类来实现接口,程序在actionPerformed()方法中对各个按钮和文本框组件的具体方法进行实现,程序中不断的用else—if语句对按钮操作事件的实现,并对事件的异常进行处理。
3.程序清单
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.*;
public class Counter extends Frame
{
//声明三个面板的布局
GridLayout gl1,gl2,gl3;
Panel p0,p1,p2,p3;
JTextField tf1;
TextField tf2;
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26;
StringBuffer str;//显示屏所显示的字符串
double x,y;//x和y都是运算数
int z;//Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/"
static double m;//记忆的数字
public Counter()
{
gl1=new GridLayout(1,4,10,0);//实例化三个面板的布局
gl2=new GridLayout(4,1,0,15);
gl3=new GridLayout(4,5,10,15);
tf1=new JTextField(27);//显示屏
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(false);
tf1.setText("0");
tf2=new TextField(10);//显示记忆的索引值
tf2.setEditable(false);
//实例化所有按钮、设置其前景色并注册监听器
b0=new Button("Backspace");
b0.setForeground(Color.red);
b0.addActionListener(new Bt());
b1=new Button("CE");
b1.setForeground(Color.red);
b1.addActionListener(new Bt());
b2=new Button("C");
b2.setForeground(Color.red);
b2.addActionListener(new Bt());
b3=new Button("MC");
b3.setForeground(Color.red);
b3.addActionListener(new Bt());
b4=new Button("MR");
b4.setForeground(Color.red);
b4.addActionListener(new Bt());
b5=new Button("MS");
b5.setForeground(Color.red);
b5.addActionListener(new Bt());
b6=new Button("M+");
b6.setForeground(Color.red);
b6.addActionListener(new Bt());
b7=new Button("7");
b7.setForeground(Color.blue);
b7.addActionListener(new Bt());
b8=new Button("8");
b8.setForeground(Color.blue);
b8.addActionListener(new Bt());
b9=new Button("9");
b9.setForeground(Color.blue);
b9.addActionListener(new Bt());
b10=new Button("/");
b10.setForeground(Color.red);
b10.addActionListener(new Bt());
b11=new Button("sqrt");
b11.setForeground(Color.blue);
b11.addActionListener(new Bt());
b12=new Button("4");
b12.setForeground(Color.blue);
b12.addActionListener(new Bt());
b13=new Button("5");
b13.setForeground(Color.blue);
b13.addActionListener(new Bt());
b14=new Button("6");
b14.setForeground(Color.blue);
b14.addActionListener(new Bt());
b15=new Button("*");
b15.setForeground(Color.red);
b15.addActionListener(new Bt());
b16=new Button("%");
b16.setForeground(Color.blue);
b16.addActionListener(new Bt());
b17=new Button("1");
b17.setForeground(Color.blue);
b17.addActionListener(new Bt());
b18=new Button("2");
b18.setForeground(Color.blue);
b18.addActionListener(new Bt());
b19=new Button("3");
b19.setForeground(Color.blue);
b19.addActionListener(new Bt());
b20=new Button("-");
b20.setForeground(Color.red);
b20.addActionListener(new Bt());
b21=new Button("1/X");
b21.setForeground(Color.blue);
b21.addActionListener(new Bt());
b22=new Button("0");
b22.setForeground(Color.blue);
b22.addActionListener(new Bt());
b23=new Button("+/-");
b23.setForeground(Color.blue);
b23.addActionListener(new Bt());
b24=new Button(".");
b24.setForeground(Color.blue);
b24.addActionListener(new Bt());
b25=new Button("+");
b25.setForeground(Color.red);
b25.addActionListener(new Bt());
b26=new Button("=");
b26.setForeground(Color.red);
b26.addActionListener(new Bt());
//实例化四个面板
p0=new Panel();
p1=new Panel();
p2=new Panel();
p3=new Panel();
//创建一个空字符串缓冲区
str=new StringBuffer();
//添加面板p0中的组件和设置其在框架中的位置和大小
p0.add(tf1);
p0.setBounds(10,25,300,40);
//添加面板p1中的组件和设置其在框架中的位置和大小
p1.setLayout(gl1);
p1.add(tf2);
p1.add(b0);
p1.add(b1);
p1.add(b2);
p1.setBounds(10,65,300,25);
//添加面板p2中的组件并设置其的框架中的位置和大小
p2.setLayout(gl2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.setBounds(10,110,40,150);
//添加面板p3中的组件并设置其在框架中的位置和大小
p3.setLayout(gl3);//设置p3的布局
p3.add(b7);
p3.add(b8);
p3.add(b9);
p3.add(b10);
p3.add(b11);
p3.add(b12);
p3.add(b13);
p3.add(b14);
p3.add(b15);
p3.add(b16);
p3.add(b17);
p3.add(b18);
p3.add(b19);
p3.add(b20);
p3.add(b21);
p3.add(b22);
p3.add(b23);
p3.add(b24);
p3.add(b25);
p3.add(b26);
p3.setBounds(60,110,250,150);
//设置框架中的布局为空布局并添加4个面板
setLayout(null);
add(p0);
add(p1);
add(p2);
add(p3);
setResizable(false);//禁止调整框架的大小
//匿名类关闭窗口
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e1)
{
System.exit(0);
}
});
setBackground(Color.lightGray);
setBounds(100,100,320,280);
setVisible(true);
}
//构造监听器
class Bt implements ActionListener
{
public void actionPerformed(ActionEvent e2)
{
try{
if(e2.getSource()==b1)//选择"CE"清零
{
tf1.setText("0");//把显示屏清零
str.setLength(0);//清空字符串缓冲区以准备接收新的输入运算数
}
else if(e2.getSource()==b2)//选择"C"清零
{
tf1.setText("0");//把显示屏清零
str.setLength(0);
}
else if(e2.getSource()==b23)//单击"+/-"选择输入的运算数是正数还是负数
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(-x));
}
else if(e2.getSource()==b25)//单击加号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);//清空缓冲区以便接收新的另一个运算数
y=0d;
z=0;
}
else if(e2.getSource()==b20)//单击减号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=1;
}
else if(e2.getSource()==b15)//单击乘号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=2;
}
else if(e2.getSource()==b10)//单击除号按钮获得x的值和z的值并空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=3;
}
else if(e2.getSource()==b26)//单击等号按钮输出计算结果
{
str.setLength(0);
switch(z)
{
case 0: tf1.setText(""+(x+y));break;
case 1: tf1.setText(""+(x-y));break;
case 2: tf1.setText(""+(x*y));break;
case 3: tf1.setText(""+(x/y));break;
}
}
else if(e2.getSource()==b24)//单击"."按钮输入小数
{
if(tf1.getText().trim().indexOf('.')!=-1)//判断字符串中是否已经包含了小数点
{
}
else//如果没数点有小
{
if(tf1.getText().trim().equals("0"))//如果初时显示为0
{
str.setLength(0);
tf1.setText((str.append("0"+e2.getActionCommand())).toString());
}
else if(tf1.getText().trim().equals(""))//如果初时显示为空则不做任何操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
}
}
y=0d;
}
else if(e2.getSource()==b11)//求平方根
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText("数字格式异常");
if(x<0)
tf1.setText("负数没有平方根");
else
tf1.setText(""+Math.sqrt(x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b16)//单击了"%"按钮
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(0.01*x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b21)//单击了"1/X"按钮
{
x=Double.parseDouble(tf1.getText().trim());
if(x==0)
{
tf1.setText("除数不能为零");
}
else
{
tf1.setText(""+(1/x));
}
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b3)//MC为清除内存
{
m=0d;
tf2.setText("");
str.setLength(0);
}
else if(e2.getSource()==b4)//MR为重新调用存储的数据
{
if(tf2.getText().trim()!="")//有记忆数字
{
tf1.setText(""+m);
}
}
else if(e2.getSource()==b5)//MS为存储显示的数据
{
m=Double.parseDouble(tf1.getText().trim());
tf2.setText("M");
tf1.setText("0");
str.setLength(0);
}
else if(e2.getSource()==b6)//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR
{
m=m+Double.parseDouble(tf1.getText().trim());
}
else//选择的是其他的按钮
{
if(e2.getSource()==b22)//如果选择的是"0"这个数字键
{
if(tf1.getText().trim().equals("0"))//如果显示屏显示的为零不做操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
else if(e2.getSource()==b0)//选择的是“BackSpace”按钮
{
if(!tf1.getText().trim().equals("0"))//如果显示屏显示的不是零
{
if(str.length()!=1)
{
tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能抛出字符串越界异常
}
else
{
tf1.setText("0");
str.setLength(0);
}
}
y=Double.parseDouble(tf1.getText().trim());
}
else//其他的数字键
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
}
catch(NumberFormatException e){
tf1.setText("数字格式异常");
}
catch(StringIndexOutOfBoundsException e){
tf1.setText("字符串索引越界");
}
}
}
public static void main(String args[])
{
new Counter();
}
}
4、调试结果
5、实习体会
java 计算器课程设计报告
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;//导包
class MyClass extends JFrame
//创建一个MyClass类继承JFrame框架的窗口类,
//也就是说JFrame里有的功能MyClass都能实现
{
JLabel a1=new JLabel("第一个数");
//创建一个显示“第一个数”的标签
JLabel a2=new JLabel("第二个数");
JLabel a3=new JLabel("运算结果");
JTextField b1=new JTextField(5);
//创建一个文本框、默认长度为5,用来输入运算数字,当然也可以默认为空
JTextField b2=new JTextField(5);
JTextField b3=new JTextField(5);
//创建一个用于显示运算结果的标签,也可以创建一个标签来显示
JButton a=new JButton("加");
//创建一个用于加法计算的按钮,点击时进行加法运算
JButton b=new JButton("减");
JButton c=new JButton("乘");
JButton d=new JButton("除");
JPanel jp1=new JPanel();//创建一个面板,用来放控件
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
MyClass()//构造函数,用来初始化的
{
setLayout(new GridLayout(3,1));//添加一个四行四列的布局管理器
jp1.setLayout(new FlowLayout());//设置JP1面板为流式布局管理器
jp1.setLayout(new FlowLayout());
//将a1,b1,a2,b2四个控件添加到jp1面板中
jp1.add(a1);
jp1.add(b1);
jp1.add(a2);
jp1.add(b2);
jp1.add(a3);
//将a,b,c,d四个控件添加到jp2面板中
jp2.add(a);
jp2.add(b);
jp2.add(c);
jp2.add(d);
jp3.add(a3);
jp3.add(b3);
//将jp1,jp2,jp3三个面板添加到窗口中
add(jp1);
add(jp3);
add(jp2);
Object e;
a.addActionListener(new ActionListener()
//创建一个匿名的事件监听器
{
@Override
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
double x=Double.valueOf(b1.getText().toString());
//获取第一个输入数,并将其由String型转换成double型
double y=Double.valueOf(b2.getText().toString());
//获取第二个输入数,并将其由String型转换成double型
b3.setText(""+(x+y));
//将运算结果在b3这个文本框中显示
}
});
b.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
double x=Double.valueOf(b1.getText().toString());
double y=Double.valueOf(b2.getText().toString());
b3.setText(""+(x-y));
}
});
c.addActionListener(new ActionListener()//创建一个匿名的事件监听器
{
@Override
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
double x=Double.valueOf(b1.getText().toString());
double y=Double.valueOf(b2.getText().toString());
b3.setText(""+(x*y));
}
});
d.addActionListener(new ActionListener()//创建一个匿名的事件监听器
{
@Override
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
double x=Double.valueOf(b1.getText().toString());
double y=Double.valueOf(b2.getText().toString());
//因为0不能做除数,所以在这里需要进行判断
if(y==0)
{
b3.setText("错误");
}
else
{
b3.setText(""+(x/y));
}
}
});
//下面的是设置窗口的属性
this.setTitle("计算器");//设置窗口的标题
//this.setSize(400,400);//设置窗口的大小,也可以改成this.pack()
this.pack();
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置关闭属性
this.setVisible(true);//设置窗口的可见性
}
public static void main(String[] args)//主函数
{
new MyClass();
}
}
OK,本文到此结束,希望对大家有所帮助。