JAVA记事本源代码(雏形)

原创 2007年10月11日 22:46:00

 

//目前实现了可以将文本内容读入到文本区并显示的功能
//2007-10-11实现了保存文件的功能
//问题一:需要解决当改变框架大小时,PANLE及时刷新的问题.
//问题二:没有实现当打开文件时,记事本的标题改变为文件名称的功能.
package Notepad_new;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.io.*;

public class NotePad ...{
    
public static void main(String args[]) ...{

        JFrame frame 
= new NoteFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(
true);
    }

}


class NoteFrame extends JFrame ...{

    
public NoteFrame() ...{// 在frame中不指定框架大小,因为是用NotePanel对象填充的.
        this.setLocation(200200);
        setTitle(title);
        Container c 
= getContentPane();
        p 
= new TextPanel();
        area 
= p.area;
        JScrollPane scroll 
= new JScrollPane(area);
        p.add(scroll);
// 当文本内容超过文本区显示范围时,为文本区增加滚动条.
        add(p);

        JMenuBar menubar 
= new JMenuBar();
        
this.setJMenuBar(menubar);
        
// 增加"文件"菜单
        JMenu fileMenu = new JMenu("文件");
        JMenuItem openItem 
= new JMenuItem("打开");
        openItem.addActionListener(
new ActionListener() ...{
            
public void actionPerformed(ActionEvent e) ...{
                JFileChooser chooser 
= new JFileChooser();
                chooser.setCurrentDirectory(
new File("."));
                chooser.showOpenDialog(NoteFrame.
this);
                filePath 
= chooser.getSelectedFile().getPath();

                
try ...{
                    File f 
= new File(filePath);
                    BufferedInputStream in 
= new BufferedInputStream(
                            
new FileInputStream(f));
                    
int n = in.available();
                    
byte[] b = new byte[n];
                    in.read(b, 
0, n);
                    
// in.close();
                    fileText = new String(b);
                    area.setText(fileText);

                }
 catch (IOException e1) ...{
                    System.out.println(e.toString());
                }

            }

        }
);
        fileMenu.add(openItem);
        
// 添加保存功能
        JMenuItem saveItem = new JMenuItem("保存");
        saveItem.addActionListener(
new ActionListener() ...{// 处理保存事件
                    public void actionPerformed(ActionEvent e) ...{
                        JFileChooser chooser 
= new JFileChooser();// 创建一个jFileChooser的实例
                        chooser.setCurrentDirectory(new File("."));// 设定默认目录为当前目录
                        chooser.showSaveDialog(NoteFrame.this);// 显示保存文件对话框
                        String filePath = chooser.getSelectedFile().getPath();// 获取输入的文件名
                        try ...{
                            FileWriter out 
= new FileWriter(new File(filePath));
                            System.out.println(area.getText());
                            out.write(area.getText());
                            out.flush();
                        }
 catch (IOException e1) ...{
                            System.out.println(e1.toString());
                        }

                    }

                }
);
        fileMenu.add(saveItem);
        
// 增加退出功能
        JMenuItem exitItem = new JMenuItem("退出");
        exitItem.addActionListener(
new ActionListener() ...{
            
public void actionPerformed(ActionEvent e) ...{
                System.exit(
0);
            }

        }
);
        fileMenu.add(exitItem);

        
// 增加"帮助"菜单
        JMenu helpMenu = new JMenu("帮助");
        JMenuItem aboutItem 
= new JMenuItem("关于");
        aboutItem.addActionListener(
new ActionListener() ...{
            
public void actionPerformed(ActionEvent e) ...{
                JOptionPane.showMessageDialog(
null"小马菜菜倾情制作 2007-10-11");
            }

        }
);
        helpMenu.add(aboutItem);

        menubar.add(fileMenu);
// 将文件菜单添加到菜单栏
        menubar.add(helpMenu);// 将帮助菜单添加到菜单栏
        pack();// 使用该语句,使panel的大小与frame相适应
        area.setText(fileText);
    }


    
public static String fileText, filePath;

    
public static JTextArea area;

    
public static String title;

    
public static TextPanel p;
}


class TextPanel extends JPanel ...{
    
public TextPanel() ...{
        setSize(
600800);
        area 
= new JTextArea(2040);
        BorderLayout layout 
= new BorderLayout();
        
this.setLayout(layout);
        add(area, layout.CENTER);
    }


    
public static JTextArea area;

    
public static String title;
}

Java开发记事本(完整版)

Java开发记事本(完整版)
  • zenglinshan
  • zenglinshan
  • 2016-05-01 04:34:22
  • 11194

java记事本源代码

import java.awt.CheckboxMenuItem; import java.awt.Color; import java.awt.Container; import java.awt....
  • BloodyDmusic
  • BloodyDmusic
  • 2016-07-27 19:39:45
  • 6552

java实现记事本之Java记事本源码及实现

今天给大家介绍一下关于如何用Java实现记事本功能,是学习Java swing的一个非常好的案例,下面先看一下运行结果(下载地址在最下面):下面我们来看源码: import java.awt.*; ...
  • llqqxf
  • llqqxf
  • 2016-07-11 16:05:09
  • 22131

Java仿Windows记事本源代码

先上截图: 源代码:import java.awt.*; import javax.swing.*; import javax.swing.filechooser.FileNameExt...
  • u010697681
  • u010697681
  • 2016-07-11 15:43:21
  • 474

如何用java写一个简单的记事本。

初步应用swing图形界面,io输入输出,事件监听、响应器,以及类之间的相互关系。 刚刚正式学习java两个月不到,希望和大神们多交流,让彼此不断进步!...
  • OOFFrankDura
  • OOFFrankDura
  • 2016-11-06 22:50:37
  • 7151

Java实战_手把手编写记事本

Java运用SWT插件编写桌面记事本应用程序可实现windows系统桌面记事本基本功能,傻瓜式教学,一步一步手把手操作。小白也可自己编写出完整的应用程序。 需要工具:Eclipse(带SWT插件) ...
  • chance2015
  • chance2015
  • 2016-01-14 13:03:39
  • 23617

记事本源代码 java

/* * 本人QQ:648422746.欢迎各位有志于一起研究java ee的朋友加我。本人专科,大二 * * 程序说明: * 1.本程序是一个超简单的记事本程序,用java se...
  • dengxina
  • dengxina
  • 2010-09-26 23:21:00
  • 377

java记事本 源代码

  • 2007年12月27日 05:01
  • 50KB
  • 下载

java实现记事本源代码

  • 2016年12月11日 02:54
  • 70KB
  • 下载

java记事本(附源代码)

              java记事本本软件描述:本软件是模拟Windows  XP的记事本功能,还扩展了一些功能,如改变字体的颜色,加上了,背景颜色,和插入图片的功能等,此软件作品还有很多的不足...
  • AllanSword
  • AllanSword
  • 2008-08-03 19:16:00
  • 2166
收藏助手
不良信息举报
您举报文章:JAVA记事本源代码(雏形)
举报原因:
原因补充:

(最多只允许输入30个字)