`
tianshizhilei
  • 浏览: 81327 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA编写的文档编辑器源代码

    博客分类:
  • java
阅读更多

//简单的类似记事本的文档编辑器

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.awt.font.*;
import javax.swing.undo.UndoManager;
public class MyTxt

 public static void main(String[] args)
 { 
 Aframe frame = new Aframe();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.show();
 }
}
class Aframe extends JFrame
{
 public Aframe()
 {
  setTitle("我的记事本");
  setSize(WIDTH, HEIGHT);
        Container contentPane = getContentPane();
        JPanel txtPanel = new JPanel();
        JPanel comboxPanel = new JPanel();
        JPanel textPanel = new JPanel();
        txtArea=new JTextArea("",17,40);
        JScrollPane scrollPane =new JScrollPane(txtArea);
        txtPanel.add(scrollPane);
        contentPane.add(comboxPanel,BorderLayout.NORTH);
        contentPane.add(txtPanel);
  contentPane.add(textPanel,BorderLayout.SOUTH);
  //Caidan lan:添加主菜单并设置快捷键
  JMenuBar menuBar =new JMenuBar();
  setJMenuBar(menuBar);
  fileMenu=new JMenu("文件(F)");
  editMenu=new JMenu("编辑(E)");
  typeMenu=new JMenu("格式(O)");
  viewMenu=new JMenu("查看(V)");
  helpMenu=new JMenu("帮助(H)");
  aboutMenu=new JMenu("关于(A)");
  fileMenu.setMnemonic('F');
  editMenu.setMnemonic('E');
  typeMenu.setMnemonic('O');
  viewMenu.setMnemonic('V');
  helpMenu.setMnemonic('H');
  aboutMenu.setMnemonic('A');
  menuBar.add(fileMenu);
  menuBar.add(editMenu);
  menuBar.add(typeMenu);
  menuBar.add(viewMenu);
     menuBar.add(aboutMenu);
  menuBar.add(helpMenu);
  //wenjian“文件”菜单的子菜单添加以及设置加速器,监听器
  aa=fileMenu.add(new ShowAction("新建"));
  aa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
  ab=fileMenu.add(new ShowAction("打开"));
  ab.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
  ac=fileMenu.add(new ShowAction("保存"));
  ac.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
  ad=fileMenu.add(new ShowAction("另存为"));
  ad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
  fileMenu.addSeparator();
  ae=fileMenu.add(new ShowAction("页面设置"));
  ae.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
  af=fileMenu.add(new ShowAction("打印"));
  af.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
  fileMenu.addSeparator();//分割线
  ag=fileMenu.add(new ShowAction("退出"));
  ag.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
  //bianji“编辑”菜单的子菜单添加以及设置加速器,监听器
  ah=editMenu.add(new ShowAction("撤消"));
  editMenu.addSeparator();
  ah.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
  ai=editMenu.add(new ShowAction("剪切"));
  ai.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
  aj=editMenu.add(new ShowAction("复制"));
  aj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
  an=editMenu.add(new ShowAction("粘贴"));
  an.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
  ak=editMenu.add(new ShowAction("删除"));
  ak.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK));
  editMenu.addSeparator();
  al=editMenu.add(new ShowAction("查找"));
  al.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
  am=editMenu.add(new ShowAction("全选"));
  am.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
  //geshi“格式”菜单的子菜单添加以及设置加速器,监听器
  zdhh=new JMenu("自动换行(L)");
  zdhh.setMnemonic('L');
  typeMenu.add(zdhh);
  ButtonGroup group =new ButtonGroup();
  xz=new JRadioButtonMenuItem("选择");
  xz.addActionListener(new ShowAction("选择"));
  xz.setSelected(true);
     qxxz=new JRadioButtonMenuItem("取消");
  qxxz.addActionListener(new ShowAction("取消"));
  qxxz.setSelected(true);
  group.add(xz);group.add(qxxz);
  zdhh.add(xz);zdhh.add(qxxz);
  bj=typeMenu.add(new ShowAction("背景颜色"));
  bj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
  zt=typeMenu.add(new ShowAction("字体"));
  zt.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
   //字体弹出框中的“确定”按钮
   que=new Button("确定");
         que.addActionListener(new boxlistener());  
  //chakan“查看”菜单的子菜单添加以及设置加速器,监听器
  ztl=viewMenu.add(new ShowAction("状态栏"));
  ztl.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
  //guanyu“关于”菜单的子菜单添加以及设置加速器,监听器
  zzxx=aboutMenu.add(new ShowAction("作者信息"));
  zzxx.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
  bq=aboutMenu.add(new ShowAction("版权"));
  bq.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK));
  sm=aboutMenu.add(new ShowAction("声明"));
  sm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
  //bangzhu“帮助”菜单的子菜单添加以及设置加速器,监听器
  shm=helpMenu.add(new ShowAction("说明"));
  shm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
  //文本框底部工具栏的设置
   toolbar2=new JToolBar();
   textPanel.add(toolbar2);
   text1=new  JTextField("就绪",10);
   text2=new  JTextField("欢迎使用该记事本!",10);
   text3=new  JTextField("",10);
   text4=new  JTextField("",10);
   textPanel.setLayout(new GridLayout(1, 4));
   toolbar2.add(text1);
         toolbar2.add(text2);
         toolbar2.add(text3);
         toolbar2.add(text4);
         text1.setEditable(false);
         text2.setEditable(false);
         text3.setEditable(false);
         text4.setEditable(false);
        //组合框的设置
  //字体
  zitiLabel=new JLabel("字体");comboxPanel.add(zitiLabel);
  String zit[]={"宋体","华文行楷","楷体","黑体","幼圆"};
  zitibox=new JComboBox(zit);
  comboxPanel.add(zitibox);
  //颜色
     yanseLabel=new JLabel("颜色");comboxPanel.add(yanseLabel);
     String yans[]={"黑色","蓝色","绿色","红色","黄色","蓝绿色","浅灰色"};
     yansebox=new JComboBox(yans);
     comboxPanel.add(yansebox);
     //大小
     daxiaoLabel=new JLabel("大小");comboxPanel.add(daxiaoLabel);
     String dax[]={"15","10","5","20","25","30","35","40","..."};
     daxiaobox=new JComboBox(dax);
     comboxPanel.add(daxiaobox);
     zitibox.setEditable(true);
     yansebox.setEditable(true);
     daxiaobox.setEditable(true);
     comboxPanel.setLayout(new FlowLayout(FlowLayout.LEFT));//靠左排列
     //组合框注册监听器
     yansebox.addActionListener(new boxlistener());
     zitibox.addActionListener(new boxlistener());
  daxiaobox.addActionListener(new boxlistener());
  txtPanel.setLayout(new GridLayout(1, 1));
  //实例化“撤销”
  um= new UndoManager ();
  txtArea.getDocument().addUndoableEditListener(um);
 }
 //菜单栏的接口实现
 private class ShowAction extends AbstractAction
 {
  public ShowAction(String name){super(name);}
  public void actionPerformed(ActionEvent e)
  {
   Object s=e.getSource();
   //新建
   if(s==aa)
   {
                if(txtArea.getText().equals(""))
                 {
                            txtArea.setText("");
                    }
               else{
                             int n=JOptionPane.showConfirmDialog(Aframe.this, "无标题记事本已改变。\n想要保存吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
                             if(n==JOptionPane.NO_OPTION){
                                  txtArea.setText("");
                                   setTitle("无标题"+"——"+"记事本");
                                                          }     
                              else if(n==JOptionPane.YES_OPTION)
                               {
                             save.setVisible(true);  
                           String name=save.getDirectory()+save.getFile();
                            try
                           {
                            FileOutputStream out=new FileOutputStream(name);
                            out.write(txtArea.getText().getBytes());
                            out.close();
                            }
                               catch(IOException a)
                                 {
                                 System.err.println("保存失败。。!");
                                 }
                      }     
                   }
          } 

   //打开
   if(s==ab)
   {
    open.setVisible(true);
    String name=open.getDirectory()+open.getFile();
    String name2=open.getFile();
    setTitle(name2);
    try
    {
     FileInputStream in=new FileInputStream(name);
     byte[] ia=new byte[in.available()];
     in.read(ia);
     txtArea.setText(new String(ia));
     in.close();
    }
    catch(IOException a)
    {
     System.err.println("获取文件失败!");
    }
      }
   //另存为
   if(s==ad)
    {
    save.setVisible(true);  
    String name=save.getDirectory()+save.getFile();
    try
    {
     FileOutputStream out=new FileOutputStream(name);
     out.write(txtArea.getText().getBytes());
     out.close();
    }
    catch(IOException a)
    {
     System.err.println("保存失败。。!");
    }
     shifulingcun=1;
    }
    //保存
   if(s==ac)
   {
    if(shifulingcun!=1)
    {save.setVisible(true);}
    String name=save.getDirectory()+save.getFile();
    try
    {
     FileOutputStream out=new FileOutputStream(name);
     out.write(txtArea.getText().getBytes());
     out.close();
    }
    catch(IOException b)
    {
     System.err.println("保存文件失败");
    }
   
      }       
            
    
   //退出
   if(s==ag)
   {
    int selection = JOptionPane.showConfirmDialog(
    Aframe.this,
    "确定退出么?", "退出?",
    JOptionPane.OK_CANCEL_OPTION,
    JOptionPane.WARNING_MESSAGE);
 
       if (selection == JOptionPane.OK_OPTION)
       {
        System.exit(0);
       }
      }
      //选择自动换行
      if(s==xz)
      {
       txtArea.setLineWrap(true);
      }
      //取消自动换行
      if(s==qxxz)
      {
       txtArea.setLineWrap(false);
      }
      //背景颜色
   if(s==bj)
   {
           Color color=JColorChooser.showDialog(Aframe.this, "调色板", txtArea.getBackground());
           if(color!=null)
            txtArea.setBackground(color);
            }
      //作者信息
      if (s==zzxx)
   {int selection = JOptionPane.showConfirmDialog(
    Aframe.this,
    "“我的记事本”编写小组成员:刘悦,王征,沈光辉","作者信息",
    JOptionPane.DEFAULT_OPTION);
   }
   //版权
   if (s==bq)
   {int selection = JOptionPane.showConfirmDialog(
    Aframe.this,
    "版权所有,盗版必究!","版权",
    JOptionPane.DEFAULT_OPTION);
   }
   //声明
   if (s==sm)
   {int selection = JOptionPane.showConfirmDialog(
    Aframe.this,
    "该程序仅用于实践交流","声明",
    JOptionPane.DEFAULT_OPTION);
   }
   //说明
   if (s==shm)
   {int selection = JOptionPane.showConfirmDialog(
    Aframe.this,
    "由于种种原因,该版本记事本还存在很多缺陷,我们将在以后的工作中予以改进","说明",
    JOptionPane.DEFAULT_OPTION);
   }
   //剪切复制粘贴
   if (s==ai|| s==cutTtem)
   {
    txtArea.cut();
   }
   if (s==aj)
   {
    txtArea.copy();
   }
   if (s==an)
   {
    txtArea.paste();
   }
   //删除
   if(s==ak)   
            {   
                txtArea.replaceRange("", txtArea.getSelectionStart(), txtArea.getSelectionEnd());   
            }   
            //全选
   if (s==am)  
   {
    txtArea.selectAll();
   }
   //撤销
   if(s==ah)
      {
          um.undo();
      }
      //字体
          if (s==zt)
            {
               
             tishi.setFont(new Font("华文行楷",1,15));
                tanchu.setLocation(300,250);
               tanchu.setSize(200,150);
             tanchu.setTitle("字体设置"); 
             tanchu.setLayout(new GridLayout(2,2,2,2));
             tanchu.add(tishi);
             tanchu.add(daxiaobox);
             tanchu.add(que);
             tanchu.add(zitibox);
             tanchu.setVisible(true);
              }
              //状态栏
              aaaaa.setText("当前字体是"+ff+"颜色是"+zzz+"大小是"+kk);
              if (s==ztl)
            {
                tanchu.setLocation(300,250);
               tanchu.setSize(300,150);
             tanchu.setTitle("当前状态"); 
             tanchu.setLayout(new GridLayout(2,2,2,2));
             aaaaa.setEditable(false);
             tanchu.add(aaaaa);
             tanchu.add(que);
             tanchu.setVisible(true);
                }
      //查找
      


 

  }
 }
 //组合框的接口实现
 private class boxlistener implements ActionListener
 {
  public void actionPerformed(ActionEvent ee)
  {
   Object ss=yansebox.getSelectedItem();
   Object zz=zitibox.getSelectedItem();
   Object dx=daxiaobox.getSelectedItem();
   String tr=(String)ss;
   String tz=(String)zz;
   String td=(String)dx;
   //字体菜单中弹出菜单“确定”的响应
   if (ee.getSource()==que){
          tanchu.dispose();
         }
   //颜色
   if(tr=="红色"){
    txtArea.setForeground(Color.red);
    zzz="红色";
   }
   if(tr=="黑色"){
    txtArea.setForeground(Color.black);
    zzz="黑色";
   }
   if(tr=="绿色"){
    txtArea.setForeground(Color.green);
    zzz="绿色";
   }
   if(tr=="蓝色"){
    txtArea.setForeground(Color.blue);
    zzz="蓝色";
   }
   if(tr=="黄色"){
    txtArea.setForeground(Color.yellow);
    zzz="黄色";
   }
   if(tr=="蓝绿色"){
    txtArea.setForeground(Color.cyan);
    zzz="蓝绿色";
   }
   if(tr=="浅灰色"){
    txtArea.setForeground(Color.lightGray);
    zzz="浅灰色";
   }
   //字体
   if(tz=="华文行楷"){
   
    Font f=txtArea.getFont();
    txtArea.setFont(new Font("华文行楷",f.getStyle(),f.getSize()));
    ff="华文行楷";
   }
   if(tz=="楷体"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font("楷体",f.getStyle(),f.getSize()));
    ff="楷体";
   }
   if(tz=="宋体"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font("宋体",f.getStyle(),f.getSize()));
    ff="宋体";
   }
   if(tz=="黑体"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font("黑体",f.getStyle(),f.getSize()));
    ff="黑体";
   }
   if(tz=="幼圆"){ 
    Font f=txtArea.getFont();
    txtArea.setFont(new Font("幼圆",f.getStyle(),f.getSize()));
    ff="幼圆";
   }
   //大小
   if(td=="5"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),5));
    kk="5";
   }
   if(td=="10"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),10));
    kk="10";
   }
   if(td=="15"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),15));
    kk="15";
   }
   if(td=="20"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),20));
    kk="20";
   }
   if(td=="25"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),25));
    kk="25";
   }
   if(td=="30"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),30));
    kk="30";
   }
   if(td=="35"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),35));
    kk="35";
   }
   if(td=="40"){
    Font f=txtArea.getFont();
    txtArea.setFont(new Font(f.getName(),f.getStyle(),40));
    kk="40";
   }
           
     
  }
  
 } 
    public static final int WIDTH = 550;
 public static final int HEIGHT = 450;
 JTextArea txtArea;
 JMenu fileMenu,editMenu,typeMenu,viewMenu,helpMenu,aboutMenu;
 JMenuItem aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,zdhh,zt,ztl,zzxx,bq,sm,shm,bj,cutTtem;
 JComboBox zitibox,yansebox,daxiaobox;
 JLabel zitiLabel,yanseLabel,daxiaoLabel;
 FileDialog open=new FileDialog(this,"打开..");
 FileDialog save=new FileDialog(this,"另存为..",FileDialog.SAVE);
 JRadioButtonMenuItem xz,qxxz;
 JFileChooser fileChooser;
 int shifulingcun;
 JToolBar toolbar2;
 JTextField text1,text2,text3,text4;
 public JTextField aaaaa=new JTextField ("");
 UndoManager um;
 Dialog tanchu=new Dialog(this);
 public Button que;
 Label tishi=new Label("字体和大小:");
 String ff="",kk="",zzz="";
}
界面:

用JAVA编写的文档编辑器源代码

 

分享到:
评论

相关推荐

    文本编辑器+源代码+java

    在Java编程中,开发者会利用文本编辑器编写源代码,通过构建工具(如Maven或Gradle)管理依赖,使用IDE(集成开发环境,如IntelliJ IDEA或Eclipse)进行调试和测试,最后将编译后的字节码部署到服务器上。...

    JAVA编写的文本编辑器程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    java版本文本编辑器源代码

    从标题“java版本文本编辑器源代码”和描述“本程序是用java语言编写的一个文本编辑器程序”可以推断出,这是一个使用Java编写的简单文本编辑器。Java 是一种广泛使用的编程语言,特别适合于开发跨平台的应用程序。 ...

    简单文本编辑器源代码(java)

    综上所述,这个简单的文本编辑器源代码展示了Java编程中的一些核心概念,包括GUI编程、事件处理、颜色选择器的设计以及接口的使用。它不仅适合初学者学习Java的基本语法和库的使用,同时也为进阶用户提供了理解和...

    JAVA编写的计算器程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    JAVA编写的打砖块程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    JAVA编写的俄罗斯方块程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    多文档编辑器java源代码

    "多文档编辑器java源代码"这个标题揭示了我们正在讨论的是一个用Java编程语言编写的软件项目,它具有编辑多个文本文件的能力。在软件开发领域,多文档编辑器允许用户同时打开并编辑多个文本或代码文件,这对于程序员...

    JAVA编写的螃蟹过街程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    文本编辑器 源代码 java

    标题 "文本编辑器 源代码 java" 暗示我们关注的是一个使用Java编程语言开发的文本编辑器项目。这个项目可能包含了实现文本编辑功能的各种核心组件和算法,例如打开、保存、编辑、查找替换等操作。在Java中,这通常会...

    文本编辑器java源代码

    这个名为"文本编辑器java源代码"的资源显然提供了一个用Java编程语言实现的文本编辑器的源代码。这样的项目对学习Java GUI(图形用户界面)编程,Swing或JavaFX框架,以及事件处理等概念具有很高的教育价值。 首先...

    JAVA编写的看图软件程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    多功能文档编辑器源代码

    【标题】"多功能文档编辑器源代码"指出我们讨论的主题是一款具有多种功能的文档编辑器的源代码。这种编辑器通常包含丰富的文本处理能力,支持多种格式,如TXT、DOC、PDF、HTML等,可能还集成了图片编辑、表格制作、...

    JAVA编写的拼图---键盘操作程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    自己用JAVA编写简单的文本编辑器(推荐)

    而`.java`文件则是我们用Java编写源代码的地方。 在`last.java`中,我们可能会看到以下关键部分: 1. **主类定义**:这是程序的入口点,通常包含`public static void main(String[] args)`方法。在这个方法内,...

    JAVA编写的拼图---鼠标操作程序源代码

    JAVA编写的文本编辑器程序源代码 其余部分搜索、下载方法: 1、点击 “Tag” 后面的关键字。JAVA课程设计 JAVA课程设计源代码 。 2、可在“搜索”按钮前面的文本框内填上本资源的关键字进行搜索。 3、或者点击“高级...

    java 编写的记事本 源代码

    在分析源代码时,你可以看到如何将这些功能模块化,通过事件监听器(如ActionListener)来响应用户的交互,以及如何组织类和方法来保持代码的清晰和可维护性。此外,了解异常处理也是很重要的,因为在处理文件I/O或...

    swing类型多页面文本编辑器java源代码

    关于"java源代码"这部分,我们可以理解为该文本编辑器的实现是完全开放的,用户可以查看、学习和修改源代码。这对于初学者来说是一个极好的学习资源,他们可以通过阅读和分析代码来理解如何使用Swing构建复杂的应用...

    Java 中的简单文本编辑器源代码

    Java 中的简单文本编辑器是用 Java 编程语言编码的桌面应用程序。该项目使用一个简单的函数来制作文本编辑器应用程序。这个项目可以允许写任何字母,也可以改变文本的字体样式。该应用程序易于使用,您只需打开应用...

    用Java编写的记事本的源代码

    本项目标题为“用Java编写的记事本的源代码”,这意味着它是一个实现了基本文本编辑功能的Java应用程序。下面我们将深入探讨其中涉及的关键知识点。 1. **Swing库**: 记事本应用通常使用Java的Swing库来构建用户...

Global site tag (gtag.js) - Google Analytics