事件处理机制
3步:事件源,事件对象,监听器
事件源:就是一个按钮,一个窗口,菜单;就是可以点击使用的
事件对象:指的是用户的一次操作,点击这个按钮的操作
监听器:监听到点击的事件,然后加上处理方法
第一步设置一个按钮,也就是事件源。 Jbutton b=new Jbutton(“名称”)
第二步 订阅事件,也就是设置一个 点击按钮的监听器。点击了,
用之前定义的事件源.addActionListener(new ActionListener)这个括号里的
这个就是相当于点击,创造了一个新的点击,(可以直接this,不用生成新的点击事件)所以只要点击,就可以监听到
第三步,也就是事件处理流程,用actionperformed方法,处理事件,输出东西
注意:在第二步 写new Action的时候,可以用快捷键alt/ 来直接生成第三步。
2.3 系统文件对话框
调出系统对话框,也就是文件的调用。
JFileChoose 这个就是系统对话框的方法。
JFileChoose dlgfile =new JFileChoose();
FileNameExtensionfilter filter =new FileNameExtensionfilter(“名字”,值)
Filename就是相当于过滤器,也就是说如果遇到了txt文件,就显示它的值
先调用 dlgfile.setFileFilter(filter);将这个过滤器加入到系统对话框里面
Dlgfile.showOpenDialog(this)这个是,当点击了系统对话框。将系统对话框显示出来。
Int result=dlgfile.showOpenDialog(this)给它设置一个变量
if(JfileChoose.Approve_OPTIOn==result)如果选择打开这个系统对话框
syso(“你选择的文件是”+dlgfile.getselectedFile().getName())获取到选择文件的名字
2.4 文件内容显示在文本框里
先定义一个 private Jtextarea txtcontent
然后在菜单页面,实例化 textcontent
Textcontent =new JtexArea() 实例化之后
就可以用this.add(textcontent),将这个加进去 (注意这个加进去就可以在对话框里面输入字了)
在打开方法里面可以再写一个read方法,只要打开就调用
Read方法里面用 txtcontent.append(写出数据)
3.1 文件类概述
使用FileinputStream读取文本文件内容
类与类之间,可以直接通过类名点的方式直接调用另一个类的方法不需要继承
在fileHelper类里面 写一个inputFile方法
Public static String inputFIle(String filename){
String result=null;
FileinputStream fis =null;
Try{
Fis= new FileinputSteram(fielname);
Fis.available 这个是把文件最大的字节数读取出来,也就是
读取到最多那个,verygood最多就是八个
Int max =fis.avaliable
Byte[] buffer =new byte[max];
Fis.read(buffer,o,buffer.length)注意:这个类是有read方法的
因为前面实例化fis对象所以可以直接调用方法
Catch….
}
Return result
}
然后在mainframe类里面调用filehelp.inputfile(fielname)
String content=….
最后用TXTcontent.append(content)
使用FileOutputStream 将记事本写入文件
思路:先在文件中写入保存按钮,在点击保存按钮后触发事件,然后构造FileOutputStream
里面写入文件名,和值。然后创建word字节数组,这个字节数组的值就是从你要保存的值,最后使用write方法,从0读到word的长度。最终.close关闭
先是点击之后正常的显示系统对话框,然后是使用result获取你选择保存的值,再用if条件语句来判断如果选择保存这个系统对话框,那么先获取值,然后调用FileHelper类里面的outputfile方法。
outputFile 方法使用 FileOutputSream fos=null;实例化fos方法
在里面传入filename值。创建buffer字节数组、使用write方法写出数组
使用JScrollpane 创建pnlcontent面向对象,再将txtcontent的值
传入JScrollpane里面,然后用this.add(pnlContent)
4.1 显示文件下所有文件名称
先编写显示方法
建立一个File dir=new File(path)将要传入文件的路径,传给
File里面,然后构造File[] listFile数组使用.listFile方法,返回一个抽象路径名的数组,这些路径名全部存在这个数组里面。 然后使用foreach(快捷键)遍历这个数组
这里面的
Builder就是这个方法的返回值所以后面定义的String files ,如果直接调用的话,是直接返回一个buffer的值,所以要在前面给buffer赋值,用buffer.append(file.getname)
4.2 拷贝文件
拷贝文件 先写出一个拷贝方法,将两个String路径传进去。使用 file 构造方法,来实例化对象将路径的String传进去 。file souse =new file (第一个传入的值)同理拷贝到得文件也得传入 file a= new file(第二个)。使用io流来输出输入。 FielinputStream sousefile=new FielinputStream (传入文件file定义的对象)。
同理Fieloutputstream 也实例化对象。这里面会发生异常。可以用try catch来解决。然后在里面写一个byte数组,大小为1024。然后先用read方法先读出来。使用while条件判断是否为-1,如果是-1表示文件就不存在。如果不为-1,就可以使用write方法将这个写出来。
最后在测试类里面调用这个方法.



