课程总结
this关键字 :
在构造器中,代表该构造器所创建的实例对象。
在方法中,指调用该方法的对象。
在流离块中。只流离块所属的类的实例t
static关键字:
属性有共享性,还可以声明函数,比如Mian方法public static void main(String args[])
继承,抽象类,接口
extends关键字,用于子类继承父类,并用super可以从子类中调用父类中的构造方法
还有覆写和重载的关系,覆盖用于子类和父类中,而重载在同一个类当中,
abstract:用abstract定义的抽象方法,其类也必须要用抽象定义,
interface接口类的定义,父类接口需要用interface定义,而子类接口父类要用implements。
异常
异常的处理方式
try
{
//有可能出现异常的语句
}
catch(异常类 异常对象)
{
//编写异常的处理语句
}
finally
{
//一定会运行的代码
}
不管出现什么异常都可以用Exception来处理异常对象。
throws和throw关键字
throws声明的方法此方法不处理异常
throw是抛出一个异常,抛出时直接抛出异常类的实例化对象
线程
线程共分为两大类 继承Thread 以及 实现Runnable接口。
取得线程名称:Thread。curentThread().getNane()
判断线程是否启动 isAlive();
线程强制运行 join();
后台线程 setDaemon();
最高级 MAX—PRIORITY
线程的优先级 最高级 NORM—PRIORITY
最低级 MIN—PRIORITY
线程的礼让 yield()
同步代码块synchronized关键字
synchronized(同步对象){ ///synchronized(this)this表示当前对象
需要同步的代码块;
}
java.io*,数据流
File f = new File(文件名);//声明File对象
(Output)(Input)Stream (out)(input) = null; //准备好输出的对象
(out)(input) = new File(Out)(In)putSTream(f); //对象进行实例化
(out)(input) = new File(Out)(In)putSTream(f,true) //在末尾加东西
字节输出流:OutputStream
byte b[]=str.get.Bytes(); //用Byte把输出的内容保存
out.write(输出对象);
out.close();//关闭文件
字节输入流 InputStream
byte b[]=new byte[1024]; //用Byte保存输入内容
input.read(输入对象)
input.close(); //关闭文件
记事本相关内容
引用AWT,SWing相关数据包,
JFrame 基本窗体,JLalel标签组件 JButton 按钮组件
frame.setVisible(true)显示窗体
布局管理器
FlowLayout 流式布局管理器
f.setLayout(new FlowLayout(FlowLayout.CENTER,3,3);
BorderLayout 将窗体表面化为东南西北中
f.setLayout(new BorderLAyout(3,3));
f.add(new JButton("东(east)"),BorderLayout.EAST);
f.add(new JButton("西(west)"),BorderLayout.WEST);
f.add(new JButton("北(north)"),BorderLayout.NORTH);
f.add(new JButton("南(south)"),BorderLayout.SOUTH);
f.add(new JButton("中(center)"),BorderLayout.CENTER);
GridLayout 表格布局管理器
f.setLyout(new GridLayout(Height,width,3,3);
需要注意的事无论按钮多还是按钮少横轴是不会变的,都是竖轴在改变
CardLayout 将一组组件重叠地进行布局,每次只展示一个画面
通过card.next(cont); 进行下一个界面切换
绝对定位
提供一个坐标进行精准布局
f.setLayout(null); 使用绝对定位
其他组件
JPanel 经常用到的容器之一,可以使用JPanel完成各种复杂的界面,在JPanel中可以加入任意组件,然后直接吧JPanel加入到JFrame中
public Jpanel(LayoutMannger layout) 创建一个指定布局管理器的JIPanel对象
JSplitPane 主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列也可以是垂直排列,
ifsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,组件一,组件二);
ifsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,组件一,组件二);
JTabbedPane 是在面板上设置了一个多项卡供用户选择
常用方法
JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP) //设置标签在顶部显示
JTabbedPane tab = new JTabbedPane(JTabbedPane.BOTTOM) //设置标签在底部显示
JTabbedPane tab = new JTabbedPane(JTabbedPane.LEFT) //设置标签在左部显示
JTabbedPane tab = new JTabbedPane(JTabbedPane.RIGHT) //设置标签在右边显示
JScrollPane 一般的图形界面如果显示区域不够大,就可以通过用JScrollpane设置滚动条
static final HORIZONTAL_SCROLLBAR_ALWAYS 始终显示水平滚动条
static final HORIZONTAL_SCROLLBAR_NEVER 任何情况下都不显示水平滚动条
static final HORIZONTAL_SCROLLBAR_AS_NEEDED 根据自生需要来显示水平滚动条
static final VERTICAL_SCROLLBAR_ALWAYS 始终显示垂直滚动条
static final VERTICAL_SCROLLBAR_NEVER 任何情况下都不显示垂直滚动条
static final VERTICAL_SCROLLBAR_AS_NEEDED 根据自生需要来显示垂直滚动条
JTextFiled jtf=new JTextFiled(); 设置文本框
JPasswordField jpf=new JPasswordField(); 设置密码类型文本框
事件监听
窗体事件监听WindowListener
动作事件监听ActionListener
键盘事件监听KeyListener
鼠标事件监听MouseListener
public Object getSource() 返回事件监听的对象
arg0.getSource instanceof 组件 判断事件触发源是否一致
记事本菜单组件
菜单容器JMenuBar
public JMenuBar() 构造方法创建JMenuBar对象
public JMenu add(JMenu e) 将指定的JMenu加入到JMenuBar中
菜单JMenu
public JMenu(String s) 创建新的JMenu 并指定菜单名称
public JMenuItem add(JMenuItem menuItem) 增加新的菜单项
public void addSeparator() 加入分割线
菜单项JMenuItem
public JMenuItem(Icon icon) 创建带有图标的JMenuItem
public JMenItem(String text) 创建带有指定文本的JMenuItem
public JMenItem(String text,Icon icon) 创建带有指定文本和图标的JMenuItem
JMenuBar,JMenu,JMenuItem之间一环扣一环,菜单项JMenuItem加到菜单JMenu中,JMenu加到菜单容器JMenuBar中,
JMenuBar加到窗体JFrame中 frame.setJMenuBar(jmb)
文件选择框JFileChooser
public JFileChooser() 指定用户默认目录,在Windows中是我的文档
public JFileChooser(String currentDiretoryPath) 指定文件选择的目录
public File getSelectedFile() 返回选择的文件
public int showSaveDialog(Component parent) 打开保存对话框,返回保存状态
public int showOpenDialog(Component parent) 打开文件选择对话框,返回打开状态