王朝网络
分享
 
 
 

用按钮调用jsp代码怎么写?

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

//导入JAVA类包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

class EditFile

{

//默认构造函数

EditFile(){}

//保存文件函数

void SaveFile(String name,String str)

{

try

{

//声明文件输出对象

FileOutputStream fos = new FileOutputStream(name);

//输出保存文件

fos.write(str.getBytes());

}

catch (IOException e)

{

//发生错误打印错误信息

System.out.println(e.toString());

}

}

//打开文件函数

String OpenFile(String name)

{

//定义字符串str来保存文件内容

String str=null;

//定义计数器

int ch=0;

try

{

//声明文件输入对象

FileInputStream fis = new FileInputStream(name);

//遍历输入对象,将内存存储到str中

while ((ch=fis.read())!=-1)

{

str=str+(char)ch;

}

//关闭文件对象

fis.close();

}

catch (IOException e)

{

//发生错误打印错误信息

System.out.println(e.toString());

}

//返回str

return str;

}

}

class MyMainFrame extends JFrame implements ActionListener

{

//文件名

String filename=null;

//查找字符串

String findtxt=null;

//替换字符串

String replacetxt=null;

//查找开始位

int findtxton=-1;

//查找结束位

int findtxtoff=-1;

//中间面版

Container c=getContentPane();

//菜单

JMenuBar mainMb=new JMenuBar();

//菜单按钮

JMenu fileMenu=new JMenu("文件");

JMenu editMenu=new JMenu("编辑");

JMenu typeMenu=new JMenu("格式");

JMenuItem newItem=new JMenuItem("新建");

JMenuItem openItem=new JMenuItem("打开");

JMenuItem saveItem=new JMenuItem("保存");

JMenuItem saveasItem=new JMenuItem("另存为");

JMenuItem exitItem=new JMenuItem("退出");

JMenuItem findItem=new JMenuItem("查找");

JMenuItem findnextItem=new JMenuItem("查找下一个");

JMenuItem changeItem=new JMenuItem("替换");

JCheckBoxMenuItem changelineItem=new JCheckBoxMenuItem("自动换行",false);

//文本域

JTextArea txt=new JTextArea();

JTextArea txt2=new JTextArea();

//滚动条

JScrollPane jsp;

//文件操作对象

EditFile ef=new EditFile();

//构造函数

MyMainFrame()

{

//绘制界面

c.setLayout(new BorderLayout());

jsp= new JScrollPane(txt);

jsp.setHorizontalScrollBarPolicy(jsp.HORIZONTAL_SCROLLBAR_AS_NEEDED);

c.add(jsp,BorderLayout.CENTER);

mainMb.add(fileMenu);

fileMenu.add(newItem);

fileMenu.add(openItem);

fileMenu.add(saveItem);

fileMenu.add(saveasItem);

fileMenu.addSeparator();

fileMenu.add(exitItem);

mainMb.add(editMenu);

editMenu.add(findItem);

editMenu.add(findnextItem);

editMenu.add(changeItem);

mainMb.add(typeMenu);

typeMenu.add(changelineItem);

setJMenuBar(mainMb);

//为菜单添加事件监听

newItem.addActionListener(this);

openItem.addActionListener(this);

saveItem.addActionListener(this);

saveasItem.addActionListener(this);

exitItem.addActionListener(this);

findItem.addActionListener(this);

findnextItem.addActionListener(this);

changeItem.addActionListener(this);

changelineItem.addActionListener(this);

}

//事件处理函数

public void actionPerformed(ActionEvent e)

{

//建立一个文件操作对象

EditFile ef=new EditFile();

//如果点击按钮为新建

if(e.getActionCommand()=="新建")

{

//将文本域置为空

txt.setText(null);

//文件名为空

filename=null;

}

//如果点击按钮为打开

if(e.getActionCommand()=="打开")

{

//定义一个文件窗体

FileDialog openDialog=new FileDialog(this,"打开文件...",FileDialog.LOAD);

//显示窗体

openDialog.show();

//如果返回文件不为空

if(openDialog.getFile()!=null)

{

//获得文件名

filename=openDialog.getFile();

//获得文件内容

txt.setText(ef.OpenFile(openDialog.getFile()));

}

}

//如果点击按钮为保存

if(e.getActionCommand()=="保存")

{

//如果没有文件名

if(filename==null)

{

//定义一个文件窗体

FileDialog saveDialog=new FileDialog(this,"另存为...",FileDialog.SAVE);

//显示窗体

saveDialog.show();

//如果返回文件不为空

if(saveDialog.getFile()!=null)

{

//获得文件名

filename=saveDialog.getFile();

//保存文件

ef.SaveFile(filename,txt.getText());

}

}

else

{

//直接保存文件

ef.SaveFile(filename,txt.getText());

}

}

//如果点击按钮为另存为

if(e.getActionCommand()=="另存为")

{

//定义一个文件窗体

FileDialog saveDialog=new FileDialog(this,"另存为...",FileDialog.SAVE);

//显示窗体

saveDialog.show();

//如果返回文件不为空

if(saveDialog.getFile()!=null)

{

//获得文件名

filename=saveDialog.getFile();

//保存文件

ef.SaveFile(filename,txt.getText());

}

}

//如果点击按钮为推出

if(e.getActionCommand()=="退出")

{

//退出

System.exit(0);

}

//如果点击按钮为查找

if(e.getActionCommand()=="查找")

{

//定义一个对话框

JOptionPane inputdia=new JOptionPane();

//定义对话框获得查找文本

findtxt=inputdia.showInputDialog("请输入要查找的文本",null);

//定义其实坐标

findtxton=-1;

findtxtoff=-1;

//调用查找函数

find();

}

//如果点击按钮为查找下一个

if(e.getActionCommand()=="查找下一个")

{

//调用查找函数

find();

}

//如果点击按钮为替换

if(e.getActionCommand()=="替换")

{

//定义一个对话框

JOptionPane inputdia=new JOptionPane();

//获得查找和替换文本

findtxt=inputdia.showInputDialog("请输入要被替换的文本",null);

replacetxt=inputdia.showInputDialog("请输入替换后的文本",null);

//备份内容

txt2.setText(replacetxt);

txt2.selectAll();

txt2.copy();

//调用查找函数

find();

//如果没找到

if(findtxton==-1&&findtxtoff==-1)

{

}

//如果找到

else

{

//替换

txt.paste();

}

findtxton=-1;

findtxtoff=-1;

}

//如果点击按钮为自动换行

if(e.getActionCommand()=="自动换行")

{

//判断当前状态

if(changelineItem.isSelected()==true)

{

//设置滚动条状态

jsp.setHorizontalScrollBarPolicy(jsp.HORIZONTAL_SCROLLBAR_NEVER);

//设置是否换行

txt.setLineWrap(true);

}

else

{

jsp.setHorizontalScrollBarPolicy(jsp.HORIZONTAL_SCROLLBAR_AS_NEEDED);

txt.setLineWrap(false);

}

}

}

//查找函数

public void find()

{

//定义临时字符串

String tempstr;

//查找文本不为空的话

if(findtxt!=null)

{

try

{

//进行查找

tempstr=txt.getText(findtxton+1,(txt.getText().length()-findtxton-1));

findtxton=findtxton+1+tempstr.indexOf(findtxt);

}

catch(Exception e)

{

}

//如果开始位有变化,即找到

if(findtxton!=-1)

{

//设置结束位

findtxtoff=findtxton+findtxt.length();

}

else

{

//否则显示没有找到

findtxtoff=-1;

JOptionPane.showMessageDialog(null,"没有找到");

}

//将找到部分进行选择

txt.select(findtxton,findtxtoff);

}

}

}

public class TextEdit

{

//主函数

public static void main(String args[])

{

//声明设置主窗体

MyMainFrame f=new MyMainFrame();

f.setSize(640,480);

f.setTitle("文本编辑器");

//显示主窗体

f.setVisible(true);

}

}

/*

JTextArea的自动换行方面的问题

--------------------------------------------------------------------------------

如果水平滚动条设置为JSctollpane.

,则添加了这种JSctollpane对象的JTextArea将具备换行功能

是这样吗?

--------------------------------------------------------------------------------

JTextArea.setLineWrap(boolean wrap)

--------------------------------------------------------------------------------

JTextArea.setLineWrap(boolean wrap)//一般的换行。

JTextArea.setWrapStyleWorld(boolean world)//以单词边缘为界限分行

*/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有