javaSE基础学习资料Word格式文档下载.docx
《javaSE基础学习资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《javaSE基础学习资料Word格式文档下载.docx(39页珍藏版)》请在冰豆网上搜索。
7)max最大值。
8)min最小值。
9)pow:
计算以参数1为底参数2为指数的幂。
10)sqrt:
平方根
11)rint:
求最接近参数的整数值。
(0.5舍,大于0.5入)
12)round:
求最接近参数的整数值(标准的四舍五入)
13)random:
返回随机数(0~1之间)。
二、System类
1、arraycopy(objectsrc,//源数据->
数组
intsrcPos,//从哪开始读
objectdest,//数据目的->
intdestPos,//从哪开始写
intlength)//写的长度
2、取得当前系统环境的信息
propertiespro=system.getProperties();
3、取得系统信息
System.getProperty("
os.name"
)
System.setProperty("
"
WindowsXP"
)//修改
4、exit(intstatus)//如参数为零,可关闭Frame。
5、currentTimeMillis();
//获得系统当前时间,从1970年1月1日0点到现在的毫秒数。
三、重讲String类
四、Date类
五、Calendar类、GregorianCalendar类、Object类、Class类、ArrayList类、GregorianCalendar类、Object类、Class类、ArrayList类
六、基本类型所对应的类和NumberFormat类、BigInteger类、BigDecimal类、Random类、Arrays类
第六章 图形用户界面(GUI)之图形编程
一、简介
GUI(GraphicalUserInterface),即图形用户界面。
就是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种屏幕元素。
在Java里有两个包为GUI设计提供丰富的功能,它们是AWT(AbstractWindowToolkit,抽象窗口工具箱)和Swing。
AWT是Java的早期版本,其中的AWT组件各类有限,可以提供基本的GUI设计工具,却无法完全实现目前GUI设计所需的所有功能。
Swing是SUN公司对早期版本的改进版本,它不仅包括AWT中具有的所有部件,并且提供了更加丰富的部件和功能,它足以完全GUI设计所需的一切功能。
AWT是Swing的基础。
Swing的产生主要原因就是AWT不能满足图形化用户界面发展的需要。
AWT设计的初衷是支持开发小应用程序的简单用户界面。
例如AWT缺少剪贴板、打印支持、键盘导航等特性,而且原来的AWT甚至不包括弹出式菜单或滚动窗格等基本元素。
此外AWT还存在着严重的缺陷,人们使AWT适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构也成为其致命的弱点。
随着发展的需要,Swing出现了,Swing组件几乎都是轻量组件,与重量组件相比,没有本地的对等组件,不像重量组件要在它们自己的本地不透明窗体中绘制,轻量组件在它们的重量组件的窗口中绘制。
Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级(light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。
由于AWT组件通过与具体平台相关的对等类(Peer)实现,因此Swing比AWT组件具有更强的实用性。
Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。
Swing采用了一种MVC的设计模式,即"
模型-视图-控制器"
(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。
Swing外观感觉采用可插入的外观感觉(PluggableLookandFeel,PL&
F)。
在AWT组件中,由于控制组件外观的对等类与具体平台相关,使得AWT组件总是只有与本机相关的外观。
Swing使得程序在一个平台上运行时能够有不同的外观。
用户可以选择自己习惯的外观。
二、窗口(JFrame)
Java中的顶层窗口(即那些没有包含在其他窗口中的窗口)被称作框架。
AWT库中有一个对应着顶层的称作Frame的类。
这个类的Swing版本被叫作Jframe;
它从Frame类扩展而来,Jframe是少数几个不绘制在画布上的Swing组件之一。
因此,它的修饰部件(按钮、标题栏、图标等等)是通过用户的窗口系统,而非Swing绘制的。
框架是一种容器。
这意味着一个框架可以容纳按钮、文本域等其他用户界面组件。
导包
java.awt.*;
底层类
java.awt.event;
事件
javax.swing.*;
图形组件
一个简单例子
importjavax.swing.*;
publicclassSimpleFrameTest{
publicstaticvoidmain(String[]args){
SimpleFrameframe=newSimpleFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setUndecorated(true);
frame.show();
//frame.setVisible(true);
frame.setLocation(100,100);
frame.setBounds(10,10,1000,500);
}
}
classSimpleFrameextendsJFrame{
publicSimpleFrame(){
setSize(this.DEFAULT_WIDTH,this.DEFAULT_HEIGHT);
publicstaticfinalintDEFAULT_WIDTH=300;
publicstaticfinalintDEFAULT_HEIGHT=200;
创建一个最简单的窗口
1、导包
1,窗口对象(JFrameframe=newJFrame)
2,设置大小(frame.setSize(300,300))
3,关闭(frame.setDefaultCloseOperation(3))//3即是Jframe.EXIT_ON_CLOSE的常量值。
4,显示(frame.setVisible(true)),或者用show()方法。
注意:
Jframe类继承了超类Window中的show方法。
而Window类的一个超类Component也有show方法。
Component.show方法已经不提倡使用,如果想显示一个组件,应该转而使用setVisible(true)。
不过,Window.show方法并没有不鼓励使用。
对于窗口和框架来说,调用show而非setVisible才有意义,这是因为show使窗口可见并把窗口放到前头。
JFrame有四层:
第一层:
GlassPane(透明层)
第二层:
ContentPane(内容层)还有menubar(菜单条),由this.getContentPane()来得到该对象
第三层:
LayeredPane(布局层)
第四层:
RootPane(根层)->
this.setBackgroud
Toolkit(工具箱):
当我们调用一个方法来检查屏幕的分辨率时,需要一个能同底层操作系统打交道的方法,因为屏幕分辨率等信息只能由操作系统来提供。
GetDefaultToolkit//得到Toolkit类的一个实例,即对象。
GetScreenSize//得到屏幕尺寸,返回Dimension的对象。
控制窗体显示位置:
JFrameframe=newJFrame();
Toolkitkit=Toolkit.getDefaultToolkit();
DimensionscreenSize=m.getScreenSize();
frame.pack();
//用紧凑方式显示窗口
frame.setLayout();
//改变布局
intx=screenSize.height/4;
//求得窗口左上角的横坐标
inty=screenSize.width/4;
//求得窗口左上角的纵坐标
frame.setLocation(x,y);
//窗口要显示的位置,即窗口左上角的位置开始显示
frame.setSize(screenSize.width/2,screenSize.height/2);
//窗口的大小。
(frame.getContentPane()).setBackground(Color.red);
显示背景色
可以通过调用frame.setUndecorated(true)关闭对框架的修饰。
可用下列代码代替setDefaultCloseOperation方法的调用(而且Frame中无该方法),如:
frame.addWindowListener(
newWindowAdapter(){
publicvoidwindowClosing(windowEvente){
System.exit(0);
});
设置图标
Imageimg=kit.getImage("
icon.gif"
);
frame.setIconImage(img);
其他方法:
/*
dispose方法:
关闭窗口并收回用于创建窗口的任何系统资源。
*/
SetIconImage方法:
当窗口最小化(在Java中常常称作图标化)时,把一个Image对象用作图标。
setTitle方法:
改变标题栏中的文字。
SetResizable方法:
使用boolean参数来决定框架大小是否能被用户改变。
SetLocation方法:
重定位一个组件(Component类中的方法)。
SetBounds方法:
允许在一次操作中重定一个组件的大小和位置。
SetExtendedState(Frame.MAXIMIZED_BOTH);
//设置框架为最大化。
IsVisible();
//检查组件是否可见。
组件初始为可见的,但顶层组件,如Jframe除外。
IsShowing();
//检查该组件是否正显示在屏幕上。
若是,它必须是可见的并且显示在一个正在显示的容器内。
IsEnabled();
//检查组件是否被激活。
被激活的组件能够接受键盘输入。
组件初始为被激活。
SetEnabled();
//激活或者禁用一个组件。
GetLocation();
//返回该组件左上角的坐标值,该值是相对于包围容器的左上角而言。
GetLocationOnScreen();
//返回该组件的左上角的坐标值,该值使用屏幕坐标。
GetSize();
//得到组件的当前大小。
SetResizable();
//决定用户是否可以缩放框架。
SetDefaultCloseOperation(Jdialog.DO_NOTHING_ON_CLOSE);
//禁止使用窗口右上角的关闭按钮。
对于框架,setLo