jsp按钮调用java,用按钮调用jsp代码怎么写?_jsp技巧

//导入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)//以单词边缘为界限分行

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值