⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsb.java

📁 用java语言实现的简单记事本功能的代码
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import javax.swing.*; 
 import java.awt.Font;
import java.io.*; 
import java.util.*; 
import java.applet.*;
public class jsb extends Frame implements ActionListener
{
   MenuBar mb;
   JTextArea t;
     String str;
     File file=null;
    JFileChooser filechooser;
JColorChooser colorchooser;
 String wenben;
String string;
int start;
int end;
Color color=Color.red;
bangzhu bz;
    public jsb()
    {
       super("记事本");
       setSize(600,500);
       filechooser=new JFileChooser();
 colorchooser=new JColorChooser();
       mb=new MenuBar();
       setMenuBar(mb);
       Menu m1=new Menu("文件");
       //m1.setMnemonic('F');
       mb.add(m1);

       MenuItem mi2=new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N));
      
       m1.add(mi2);
       mi2.addActionListener(this);
       MenuItem mi3=new MenuItem("打开",new MenuShortcut(KeyEvent.VK_O));
       m1.add(mi3);
       mi3.addActionListener(this);
 m1.addSeparator();
       MenuItem mi4=new MenuItem("保存",new MenuShortcut(KeyEvent.VK_S));
       m1.add(mi4);
       mi4.addActionListener(this);
       MenuItem mi5=new MenuItem("另存为");
       m1.add(mi5);
       mi5.addActionListener(this);
       m1.addSeparator();
       mi3.addActionListener(this);
       MenuItem mi1=new MenuItem("退出");
       m1.add(mi1);
       mi1.addActionListener(this);
       Menu m2=new Menu("编辑");
       mb.add(m2);
       
      m2.addSeparator();
      MenuItem mi31=new MenuItem("剪切",new MenuShortcut(KeyEvent.VK_X));
       m2.add(mi31);
       mi31.addActionListener(this);
       MenuItem mi41=new MenuItem("复制",new MenuShortcut(KeyEvent.VK_C));
       m2.add(mi41);
m2.addSeparator();
       mi41.addActionListener(this);
       MenuItem mi51=new MenuItem("粘贴",new MenuShortcut(KeyEvent.VK_V));
       m2.add(mi51);
       mi51.addActionListener(this);
       MenuItem mi61=new MenuItem("删除");
       m2.add(mi61);
       mi61.addActionListener(this);
       
       
       m2.addSeparator();
       MenuItem mi101=new MenuItem("全选",new MenuShortcut(KeyEvent.VK_A));
       m2.add(mi101);
       mi101.addActionListener(this);
       MenuItem mi102=new MenuItem("时间日期");
       m2.add(mi102);
       mi102.addActionListener(this);
       Menu m3=new Menu("格式");
       mb.add(m3);
       MenuItem mi211=new MenuItem("自动换行");
       m3.add(mi211);
       mi211.addActionListener(this);
       MenuItem mi311=new MenuItem("颜色");
       m3.add(mi311);
       mi311.addActionListener(this);
Menu mi411=new Menu("大小");
MenuItem mi4111=new MenuItem("10");
MenuItem mi4112=new MenuItem("20");
MenuItem mi4113=new MenuItem("30");
MenuItem mi4114=new MenuItem("40");
mi411.add(mi4111);
mi411.add(mi4112);
mi411.add(mi4113);
mi411.add(mi4114);
       m3.add(mi411);
       mi411.addActionListener(this);
        mi4111.addActionListener(this);
mi4112.addActionListener(this);
mi4113.addActionListener(this);
mi4114.addActionListener(this);
       Menu m4=new Menu("设置");
      Menu m41=new Menu("字体");
     Menu m42=new Menu("风格");
    
MenuItem m411=new MenuItem("宋体");
MenuItem m412=new MenuItem("楷体");
MenuItem m413=new MenuItem("仿宋体");
MenuItem m414=new MenuItem("Courier");
MenuItem m421=new MenuItem("正常字体");
MenuItem m422=new MenuItem("黑体");
MenuItem m423=new MenuItem("斜体");
MenuItem m424=new MenuItem("黑体+斜体");
mb.add(m4);
m41.add(m411);
m41.add(m412);
m41.add(m413);
m41.add(m414);
m42.add(m421);
m42.add(m422);
m42.add(m423);
m42.add(m424);
m4.add(m41);
m4.add(m42);

m411.addActionListener(this);
m412.addActionListener(this);
m413.addActionListener(this);
m414.addActionListener(this);
m421.addActionListener(this);
m422.addActionListener(this);
m423.addActionListener(this);
m424.addActionListener(this);
Menu m5=new Menu("帮助");
MenuItem mi55=new MenuItem("关于记事本");
mb.add(m5);
m5.add(mi55);
mi55.addActionListener(this);
       t=new JTextArea();
       add(t);
        addWindowListener(new WindowAdapter()
        {
            public void windowClosing (WindowEvent e)
            {
                System.exit(0);
            }
        });
bz=new bangzhu();
bz.setVisible(false);
      Date date=new Date();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  str=sdf.format(date);
  wenben=t.getText();
       show();
     }
   public void actionPerformed(ActionEvent e)
    {
      if(e.getActionCommand().equals("退出"))
       {
String as=t.getText();
if(wenben.equals(as))
    { this.dispose();System.exit(0);}
else
{filechooser.setDialogTitle("请先保存文件");
filechooser.showSaveDialog(null);
       FileWriter q=null;
       try{ file=filechooser.getSelectedFile();}catch(Exception ex){System.out.println("");}
       try{q=new FileWriter(file);}catch(Exception ex){System.out.println("");}
       try{q.write(t.getText());}catch(Exception ex){System.out.println("");}
       try{q.close();}catch(Exception ex){System.out.println("");}
       this.dispose();System.exit(0);}
this.dispose();System.exit(0);
}
    
if(e.getActionCommand().equals("新建"))
     {
    String as=t.getText();
if(wenben.equals(as))
t.setText("");
else
{filechooser.setDialogTitle("请先保存文件");
filechooser.showSaveDialog(null);
       FileWriter q=null;
       try{ file=filechooser.getSelectedFile();}catch(Exception ex){System.out.println("");}
       try{q=new FileWriter(file);}catch(Exception ex){System.out.println("");}
       try{q.write(t.getText());}catch(Exception ex){System.out.println("");}
       try{q.close();}catch(Exception ex){System.out.println("");}
t.setText("");
}
     }

if(e.getActionCommand().equals("打开"))
     {
    // wenben=t.getText();
     String c=null;

    t.setText("");
     BufferedReader f=null;
    filechooser.showOpenDialog(null);

     file=filechooser.getSelectedFile();
     try{f=new BufferedReader(new FileReader(file));}catch(Exception ex) {System.out.println("");} 
     try{c=f.readLine();}catch(Exception ex) {System.out.println("");}
     while(c!=null)
     {
       t.append(c);
       t.append("\n");
     try{c=f.readLine();}catch(Exception ex) {System.out.println("");}
     }
     try{f.close();}catch(Exception ex) {System.out.println("");}
    
     }


if(e.getActionCommand().equals("保存"))
     {
       filechooser.showSaveDialog(null);
       FileWriter q=null;
       try{ file=filechooser.getSelectedFile();}catch(Exception ex){System.out.println("");}
       try{q=new FileWriter(file);}catch(Exception ex){System.out.println("");}
       try{q.write(t.getText());}catch(Exception ex){System.out.println("");}
       try{q.close();}catch(Exception ex){System.out.println("");}
wenben=t.getText();


     }
if(e.getActionCommand().equals("另存为"))
     {
       filechooser.setDialogTitle("另存为");
       filechooser.showSaveDialog(null);
       FileWriter q=null;
       try{ file=filechooser.getSelectedFile();}catch(Exception ex){System.out.println("");}
       try{q=new FileWriter(file);}catch(Exception ex){System.out.println("");}
       try{q.write(t.getText());}catch(Exception ex){System.out.println("");}
       try{q.close();}catch(Exception ex){System.out.println("");}
     }
if(e.getActionCommand().equals("10"))
     {

int size,style;
String name;
Font ft;
ft=t.getFont();
name=ft.getName();
style=ft.getStyle();
ft=new Font(name,style,10);
t.setFont(ft);

    }
if(e.getActionCommand().equals("40"))
     {

int size,style;
String name;
Font ft;
ft=t.getFont();
name=ft.getName();
style=ft.getStyle();
ft=new Font(name,style,40);
t.setFont(ft);

    }
if(e.getActionCommand().equals("20"))
     {

int size,style;
String name;
Font ft;
ft=t.getFont();
name=ft.getName();
style=ft.getStyle();
ft=new Font(name,style,20);
t.setFont(ft);

    }
if(e.getActionCommand().equals("30"))
     {

int size,style;
String name;
Font ft;
ft=t.getFont();
name=ft.getName();
style=ft.getStyle();
ft=new Font(name,style,30);
t.setFont(ft);

    }

if(e.getActionCommand().equals("复制"))
     {
 string=t.getSelectedText();

     }
if(e.getActionCommand().equals("剪切"))
     {
     
       
 start=t.getSelectionStart();
      end=t.getSelectionEnd();
   t.replaceRange("",start,end);
     }
if(e.getActionCommand().equals("粘贴"))
     {

start=t.getSelectionStart();
      end=t.getSelectionEnd();
     t.replaceRange(string,start,end);
  
     }
if(e.getActionCommand().equals("删除"))
     {
start=t.getSelectionStart();
      end=t.getSelectionEnd();
   t.replaceRange("",start,end);
     }


if(e.getActionCommand().equals("全选"))
     {
       t.selectAll();
     }
if(e.getActionCommand().equals("时间日期"))
     {
     
   String n=t.getText();
   String m=n+str;
   t.setText(m);
  
     }
if(e.getActionCommand().equals("自动换行"))
     {
      t.setLineWrap(true);
     }
if(e.getActionCommand().equals("颜色"))
     {

color = JColorChooser.showDialog(this,"",color);
 t.setForeground(color);
     }

if(e.getActionCommand().equals("宋体"))
     {
int style,size;
Font ft;
ft=t.getFont();
style=ft.getStyle();
size=ft.getSize();
ft=new Font("宋体",style,size);
t.setFont(ft);
      
     }
if(e.getActionCommand().equals("楷体"))
     {
int style,size;
Font ft;
ft=t.getFont();
style=ft.getStyle();
size=ft.getSize();
ft=new Font("楷体",style,size);
t.setFont(ft);
      
     }
if(e.getActionCommand().equals("仿宋体"))
     {
int style,size;
      Font ft;
ft=t.getFont();
style=ft.getStyle();
size=ft.getSize();
ft=new Font("仿宋体",style,size);
t.setFont(ft);
     }
if(e.getActionCommand().equals("Courier"))
     {
int style,size;
         Font ft;
ft=t.getFont();
style=ft.getStyle();
size=ft.getSize();
ft=new Font("Courier",style,size);
t.setFont(ft);
     }
if(e.getActionCommand().equals("正常字体"))
     {
String sr;
int size;
Font ft;
      ft=t.getFont();
size=ft.getSize();
sr=ft.getName();
ft=new Font(sr,Font.PLAIN,size);
t.setFont(ft);
     }
if(e.getActionCommand().equals("黑体"))
     {
      String sr;
int size;
Font ft;
      ft=t.getFont();
size=ft.getSize();
sr=ft.getName();
ft=new Font(sr,Font.BOLD,size);
t.setFont(ft);
     }
if(e.getActionCommand().equals("斜体"))
     {
String sr;
int size;
Font ft;
      ft=t.getFont();
size=ft.getSize();
sr=ft.getName();
ft=new Font(sr,Font.ITALIC,size);
t.setFont(ft);
      
     }
if(e.getActionCommand().equals("黑体+斜体"))
     {
      String sr;
int size;
Font ft;
      ft=t.getFont();
size=ft.getSize();
sr=ft.getName();
ft=new Font(sr,Font.ITALIC+Font.BOLD,size);
t.setFont(ft);
     }
if(e.getActionCommand().equals("关于记事本"))
     {
      bz.setVisible(true);
     }

repaint();
    
     
    }
  

    public static void main(String args[])
     {
       jsb j=new jsb();
      }
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -