简易的记事本程序

利用GUI和IO流做的简易的记事本程序

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.filechooser.FileNameExtensionFilter;

public class BarDemo extends JFrame {

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    BarDemo frame = new BarDemo();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public BarDemo() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);

        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        JMenu menu = new JMenu("\u6587\u4EF6");
        menuBar.add(menu);

        JScrollPane scrollPane = new JScrollPane();
        getContentPane().add(scrollPane, BorderLayout.CENTER);

        JTextArea textArea = new JTextArea();
        scrollPane.setViewportView(textArea);

        JMenuItem menuItem = new JMenuItem("\u6253\u5F00");
        menuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                //1.创建一个文件选择器
                JFileChooser chooser = new JFileChooser();

                //2.创建一个文件扩展名过滤器
                FileNameExtensionFilter filter = null;
                filter = new FileNameExtensionFilter("Java & Txt","java","txt" );

                //3.给文件选择器设置过滤器
                chooser.setFileFilter(filter);

                //文件选择器调用了显示选择文件对话框。并获取该对话框的返回值
                int returnVul = chooser.showOpenDialog(getContentPane());
                //判断返回值
                if(returnVul== JFileChooser.APPROVE_OPTION){

                    //清空
                    textArea.setText("");

                    //获取选择的目录
                    String str = chooser.getSelectedFile().getAbsolutePath();
//                    System.out.println(str);

                    //读取文件
                    try {
                        BufferedReader bufr = new BufferedReader(new FileReader(str));
                        String line = null;
                        while((line=bufr.readLine())!=null){
                            textArea.append(line+System.getProperty("line.separator"));
                        }

                    } catch (FileNotFoundException e1) {
                        e1.printStackTrace();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }

                }

            }
        });
        menu.add(menuItem);

        JMenuItem menuItem_1 = new JMenuItem("\u9000\u51FA");
        menuItem_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        menu.add(menuItem_1);

    }

}
时间: 2024-10-14 07:28:03

简易的记事本程序的相关文章

结对人项目记事本程序

一.题目简介 所选项目名称:编写一个记事本程序 项目需求描述:现在网络上各种文档编辑器数不胜数,有EmEditor,UEStudio,GridinSoft Notepad,Notepad++,win32pad,SkimEdit,UniRed,xint.功能也是应有尽有,有能改变字体的,有能改变文字颜色的.但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大:有的功能太繁杂,使初级使用者一时难以掌握.仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了.本程

C语言 linux环境基于socket的简易即时通信程序

转载请注明出处:http://www.cnblogs.com/kevince/p/3891033.html   By Kevince 最近在看linux网络编程相关,现学现卖,就写了一个简易的C/S即时通信程序,代码如下: head.h 1 /*头文件,client和server编译时都需要使用*/ 2 #include <unistd.h> 3 #include <stdio.h> 4 #include <sys/types.h> 5 #include <sys

win32记事本程序(一)

我不会取标题,大体上我想用win32,模仿windows的记事本,写个记事本程序,最后让我的程序和微软的程序在外观和功能上都差不多.这样一来我可以学到一些新知识,巩固旧的知识. 一.首先做个菜单栏吧.建个menu.rc文件,参照微软的记事本,里面写上这些: 1 //menu.rc 2 3 #define IDM_MAIN 0x2000 4 #define IDM_NEW 0x4101 5 #define IDM_OPEN 0x4102 6 #define IDM_SAVE 0x4103 7 #d

利用map的特性做一个简易的投票程序

pair 1. 概念:pair是 一种模版类型,每个pair 可以存储两个值,这两种值的类型无限制.也可以将自己写的struct类型的的对象放进去. 2. 用法: pair<int ,int >p (1,2); pair<int ,int > p1= make_pair(1,2); 3. 编写程序读入一系列string和int型数据,将每一组存储在一个pair对象中,然后将这些pair对象存储在vector容器并显示 #include<iostream> #includ

简易的sniff程序

真的很简易,这个程序仅仅是抓一些发送到本机的数据包,然后显示出来它们的一些信息罢了!      程序非常简单!       #include <WinSock2.h> #include <windows.h> #include <stdio.h> #include <stdlib.h> #pragma comment(lib, "ws2_32.lib") /*链接ws2_32.lib动态链接库*/ #define SIO_RCVALL _

简单记事本程序java源码项目

代码如下 import java.awt.*; import java.io.*; import java.awt.datatransfer.*; import java.awt.event.*; public class Main extends Frame implements ActionListener { private static final long serialVersionUID = 1L; TextArea textArea = new TextArea(); MenuBa

C#+Winform记事本程序

第17章 记事本 如何使用Visual C# 2010设计一个Windows应用程序--记事本,学习,可以进一步掌握MenuStrip(菜单).ToolStrip(工具栏).RichTextBox(高级文本框)和StatusStrip(状态栏控件)等控件的使用,以及如何使用CommonDialog(公共对话框)实现对文本的存取.格式设置等操作. 17.1 记事本简介 本章介绍的记事本,实现了Windows自带的记事本的部分功能外,并且还可以任意更改字体的字体类型.大小和颜色,并在状态栏中显示时间

6.WinFor练习--简单记事本程序

namespace _6.简单记事本程序{public partial class Form1 : Form{public Form1(){InitializeComponent();} private void Form1_Load(object sender, EventArgs e) { //一开始将不需要显示的控件进行隐藏 txtWord.WordWrap = false; btnWrap.Visible = false; btnSave.Visible = false; txtWord

如何用 Python 写一个简易的抽奖程序

不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下手. 其实这个很正常,刚开始学习写代码,都是跟着别人的套路往下写,看的套路少,很难形成自己的套路,这就和做数学题是一样的,做一道题就想会所有的题目,这个可能性微乎其微,都是通过大量的练习来摸索到自己的套路. 正好快过年了,各个公司都会搞一些抽奖活动,小编今天就来聊一下,如果要写一个简单的抽奖程序,小