一个简单的记事本代码(二)

/**************************************************/
//调用的函数
public void File_new_actionPerformed(ActionEvent e){
FileNew();
}
public void File_open_actionPerformed(ActionEvent e){
FileOpen();
}
public void File_save_actionPerformed(ActionEvent e){
FileSave();
}
public void File_saveto_actionPerformed(ActionEvent e){
FileSaveTo();
}
public void File_close_actionPerformed(ActionEvent e){
FileClose();
}
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger())
pm.show(this,e.getX(),e.getY());
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
boolean toExit()
{
if(bsaved)
return true;
int i=JOptionPane.showConfirmDialog(this,"是否保存文件","Jishiben",JOptionPane.YES_NO_CANCEL_OPTION);
switch(i)
{
case JOptionPane.YES_OPTION:
return true;
case JOptionPane.NO_OPTION:
return false;
case JOptionPane.CANCEL_OPTION:
return false;
default:
return false;
}
}
//调用文件新建
void FileNew()
{
if(bsaved){
this.jTextArea1.setText("");
this.jTextArea1.setFocusable(true);
this.setTitle("未命名");
this.statubar.setText("新建文本");
}
else FileSaveTo();
}
//调用文件打开
void FileOpen()
{
String strFileOpen="";
if(bsaved){
try{
if(this.jFileChooser.APPROVE_OPTION==this.jFileChooser.showOpenDialog(this)){
strFileOpen=this.jFileChooser.getSelectedFile().getPath();
File file=new File(strFileOpen);
int flength=(int)file.length();
int num=0;
FileReader fReader=new FileReader(file);
char[] data=new char[flength];
while(fReader.ready()){
num+=fReader.read(data,num,flength-num);
}
fReader.close();
jTextArea1.setText(new String(data,0,num));
filename=strFileOpen;
this.setTitle(filename);
statubar.setText("打开:"+filename);
updateFname();
bsaved=false;
}
else
return ;
}catch(Exception e){
statubar.setText("Error Open:"+e.getMessage());
}
}
else
FileSave();
}
//调用保存对话框
boolean FileSave()
{
if(filename==null){
return FileSaveTo();
}
if(!bsaved){
if(filename.length()!=0){
try{
File saveFile=new File(filename);
FileWriter fw=new FileWriter(saveFile);
fw.write(jTextArea1.getText());
fw.close();
statubar.setText("保存文件:"+filename);
bsaved=true;
updateFname();
}catch(Exception e)
{
statubar.setText("保存出错: "+e.getMessage());
}
}
else{
return FileSaveTo();
}
}
return true;
}
//调用另存对话框
boolean FileSaveTo()
{
if(jFileChooser.APPROVE_OPTION==jFileChooser.showSaveDialog(this)){
filename=jFileChooser.getSelectedFile().getPath();
return FileSave();
}
else{
return false;
}
}
//更改标题
void updateFname(){
String str;
if(filename==null){
str="无标题";
}
else{
str=filename;
}
if(!bsaved){
str="记事本"+str;
}
this.setTitle(str);
this.repaint();
}
//文件关闭
void FileClose(){
if(!bsaved){
if(toExit()){
FileSave();
}
else {
System.exit(0);
}
}
else{
System.exit(0);
}
}
//调用编辑剪切
void FileCut (ActionEvent e)
{
try{
String str=this.jTextArea1.getSelectedText();
if(str.length()!=0){
StringSelection s = new StringSelection(str);
cb.setContents(s,s);
this.jTextArea1.replaceRange("",this.jTextArea1.getSelectionStart(),this.jTextArea1.getSelectionEnd());
bsaved =false;
}
}catch(Exception ex){
this.statubar.setText("剪切出错:"+ex.getMessage());
}
}
//调用编辑复制
void FileCopy(ActionEvent e)
{
try{
String str=this.jTextArea1.getSelectedText();
if(str.length()!=0){
StringSelection s = new StringSelection(str);
cb.setContents(s,s);
}
}catch(Exception ex)
{
this.statubar.setText("复制出错!"+ex.getMessage());
}
}
//调用编辑粘贴
void FilePaste(ActionEvent e)
{
try
{
Transferable tr =cb.getContents(this);
if (tr != null)
{
String s = (String)tr.getTransferData(DataFlavor.stringFlavor);
if(s!=null)
jTextArea1.replaceRange(s,jTextArea1.getSelectionStart(),jTextArea1.getSelectionEnd());
//this.jTextArea1.insert(s,this.jTextArea1.getCaretPosition());
bsaved =false;
}
}
catch (Exception err)
{
err.printStackTrace();
}
}
//调用编辑删除
void FileDel(ActionEvent e)
{
jTextArea1.replaceRange("",jTextArea1.getSelectionStart(),jTextArea1.getSelectionEnd());
bsaved =false;
}
//调用编辑查找
void FileFindNext(ActionEvent e)
{
new Frame1(jTextArea1);
}
//时间
void FileTime(ActionEvent e){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jTextArea1.append(" 当前时间:"+sdf.format(new Date()));
bsaved =false;
}
//全选
void AllSelect(ActionEvent e){
jTextArea1.setSelectionStart(0);
jTextArea1.setSelectionEnd(this.jTextArea1.getText().length());
}
//换行
void FileLine(ActionEvent e){
if(!jTextArea1.getLineWrap()){
jTextArea1.setLineWrap(true);
}
else{
jTextArea1.setLineWrap(false);
}
} //有问题
// 颜色
public void fcolor(ActionEvent e){
Color bcolor=jTextArea1.getForeground();
jColor.setColor(bcolor);
jTextArea1.setForeground(
jColor.showDialog(jTextArea1,"选择颜色",bcolor));
}
//调用关于对话框
void HelpAboutDialog(ActionEvent e)
{
JOptionPane.showMessageDialog(this,"版权:龙骨败..","关于记事本",JOptionPane.INFORMATION_MESSAGE);
}

时间: 2024-08-24 05:46:17

一个简单的记事本代码(二)的相关文章

一个简单的记事本代码(三)

/****************************************************/ //行为事件 public void actionPerformed(ActionEvent e) { if (e.getSource() == jMenuFileCut) { FileCut(e); } else if (e.getSource() == jMenuFileCopy) { FileCopy(e); } else if (e.getSource() == jMenuFil

一个简单的记事本代码(一)

import java.awt.*; import java.awt.event.*; import java.awt.*; import javax.swing.*; import java.lang.*; import java.text.*; import java.io.*; import java.util.*; import javax.accessibility.*; import java.awt.datatransfer.*; // 课设 记事本 /**************

对象-什么意思,一直不知道,一个简单的计算器代码

问题描述 什么意思,一直不知道,一个简单的计算器代码 private void btnEqual_Click(object sender, EventArgs e) { C.Operation op = C.OperationFactory.CreateOperation(cbOperate.SelectedItem.ToString()); op.NumberA=Convert.ToDouble(txtA.Text); op.NumberB=Convert.ToDouble(txtB.Text

使用Java制作一个简单的记事本_java

通过使用Java的Swing.IO来实现一个简单记事本,实现打开指定的text文本文件,然后将text文件的内容加载到Swing组件中,然后在Swing组件中编辑记事本内容,然后同菜单的保存选项将编辑后的内容保存到text文件中.代码如下: 复制代码 代码如下: import java.io.*; import java.nio.*; import java.nio.channels.*; import java.nio.charset.*; import java.awt.*; import

php的一个简单加密解密代码

 分享一个php加密解密的类,在用户注册的时候发送邮件验证的时候估计会用的到的,代码如下    代码如下: class SysCrypt{  private $crypt_key='http://www.jb51.net';//密钥  public function __construct($crypt_key){   $this->crypt_key=$crypt_key;  }  public function encrypt($txt){   srand((double)microtime

创建一个简单的web服务器(二):使用自定义的类加载器来替换URLClassLoader

在上一章中我们加载Servlet用的是URLClassLoader,在这一章中我们使用自定义的类加载器来替换URLClassLoader.关于类加载器的文章请参考这里:深入探讨 Java 类加载器.这篇文章写得很棒. 具体的代码如下: package com.zkn.imitate.tomcat.secondchapter.first; import com.zkn.imitate.tomcat.secondchapter.Request; import com.zkn.imitate.tomc

写一个简单的工作流(二)

    hoho,今天完成了选择路由的实现,完成了配置文件的读写和解析,流程定义文件还是决定采用xml文件,不过与其他工作流引擎采用的xml完全不同,因为是基于petri网的,因此引入了place的概念,比如下面这个4个节点的顺序路由的流程: <workflow maxCases="100">     <node type="start" name="start" id="0">         <

一个简单的自动发送邮件系统(二)

这里介绍php和mysql结合起来实用.     基本上,可以说php是介于后台数据库和前台浏览器的一个中间层,在他们之间传递命令.这种方式大大提高了交互的可能性,可以方便使用在投票系统,其他动态用户输入和个性化网站中.     要想实现这种交互,首先必需实现和mysql数据库连接,可以使用这个命令实现:     语法:int mysql_connect(string hostname, string username, string password);       ·hostname - 运

一个简单的自动发送邮件系统(二)_php基础

这里介绍php和mysql结合起来实用.     基本上,可以说php是介于后台数据库和前台浏览器的一个中间层,在他们之间传递命令.这种方式大大提高了交互的可能性,可以方便使用在投票系统,其他动态用户输入和个性化网站中.     要想实现这种交互,首先必需实现和mysql数据库连接,可以使用这个命令实现:     语法:int mysql_connect(string hostname, string username, string password);       ·hostname - 运