java 记事本
我用java编写的记事本代码,分享给大家
backcolor.add(white); backcolor.addSeparator();
backcolor.add(pink); backcolor.addSeparator();
backcolor.add(morecolor);
JMenuItem red=new JMenuItem("红色");//","橙","黄","","青","蓝","紫","黑","灰","白","粉红"
JMenuItem green=new JMenuItem("绿色");
JMenuItem yellow=new JMenuItem("黄色");
clear.setFont(a); clear.setForeground(Color.MAGENTA);
paste.setFont(a); paste.setForeground(Color.MAGENTA);
cut.setFont(a); cut.setForeground(Color.MAGENTA);
JMenuItem black=new JMenuItem("黑色");
JMenuItem gray=new JMenuItem("灰色");
JMenuItem white=new JMenuItem("白色");
JMenuItem pink=new JMenuItem("粉红");
java日历记事本小游戏当前时间代码
rightPanel=new JPanel();
this.year=year;
this.month=month;
this.day=day;
负责改变年=new Year(this);
private static final long serialVersionUID = -1805873342285018876L;
int a,b,c;
WindowButton Game;
Timer Time;
CalendarPad 开始=null;
fileMenu1.add(item1);
fileMenu1.add(item2);
fileMenu1.add(item3);
bar.add(fileMenu1);
win.setMenuBar(bar);
win.add(la,BorderLayout.CENTER);
item1=new MenuItem("日历记事本");
bar=new MenuBar();
fileMenu1=new Menu("菜单选项");
item2=new MenuItem("小游戏");
item3=new MenuItem("当前时间");
if(e.getSource()==item2)
{Game=new WindowButton("小游戏");
Game.setVisible(true);}
if(e.getSource()==item3)
{ Calendar calendar=Calendar.getInstance();
java记事本实验报告doc
java记事本实验报告篇一:JAVA记事本实验报告(含源代码运行结果)嘉应学院计算机学院系/班别:指导老师:课程名称:实验内容:学生学号:学生姓名:实验地点:实验类型:实验时间:实验报告计算机学院1203班 Java语言程序设计用Java编写记事本第十四周至第十七周实验要求:能够通过使用JDK1.6安装开发windows 桌面应用程序。
实验目的:熟悉事件触发和事件监听以及组件和容器的界面安排,能够用java设计一个仿windows的标准型记事本。
实验过程描述:一、实验环境:网络实验室二、实验设备:PC机, 网络三、实验平台:winxp. JDK1.6过程描述:1.首先,安装JDK1.62.打开开始-》运行->输入cmd进入dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运行四、编写程序:import java.io.File;import .URLClassLoader;import .URL;import ng.InterruptedException;import java.io.FileInputStream;import java.io.FileOutputStream; import java.io.PrintStream;import java.util.Scanner;import java.util.Date;import java.util.Iterator;import java.util.List;import java.text.SimpleDateFormat; import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.ImageIcon;import javax.swing.JScrollPane; import javax.swing.JToolBar; import javax.swing.JMenuItem; import javax.swing.KeyStroke; import javax.swing.JPopupMenu; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JFileChooser; import javax.swing.JColorChooser; import javax.swing.JDialog; import javax.swing.JTextField; import javax.swing.BorderFactory; import javax.swing.JList;import javax.swing.JComboBox; import javax.swing.UIManager; import javax.swing.JRadioButton; import javax.swing.JToggleButton;import javax.swing.ButtonGroup;import javax.swing.TransferHandler;import javax.swing.border.Border;import javax.swing.border.TitledBorder;import javax.swing.text.Document;import javax.swing.undo.UndoManager;import javax.swing.undo.UndoableEdit;import javax.swing.event.UndoableEditEvent; import javax.swing.event.UndoableEditListener; import javax.swing.event.DocumentListener;import javax.swing.event.DocumentEvent;import javax.swing.JComponent;import java.awt.Font;import java.awt.Window;import java.awt.Event;import java.awt.MediaTracker;import java.awt.Color;import java.awt.event.KeyListener;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.Container;import java.awt.Toolkit;import java.awt.Image;import java.awt.GraphicsEnvironment;import java.awt.datatransfer.*;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.Transferable;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.awt.event.KeyListener;import java.awt.event.KeyAdapter;import java.awt.event.ActionListener;import java.awt.event.MouseListener;import java.awt.event.MouseEvent;import java.awt.event.MouseAdapter;import java.awt.event.ActionEvent;class MyTransferHandler extends TransferHandler { JTextArea text=null;public MyTransferHandler(JTextArea text){this.text=text;}public boolean canImport(JComponent c, DataFlavor[] flavors)//在拖放操作期间重复调用此方法,判断是否可以输入{for (int i = 0; i if (DataFlavor.javaFileListFlavor.equals(flavors[i])){ return true;}}return false;}public boolean importData(JComponent com,Transferable t){try{篇二:记事本的设计与实现Java版实验报告报告编号:第九组JAVA课程设计报告记事本的设计与实现学生姓名:指导教师:所在系:电子信息系所学专业:计算机科学与技术年级:XX年12月目录摘要 ................................................ ................................................... .. (1)第1章前言 ................................................ ................................................... . (2)1.1研究背景................................................. ................................................... . (2)1.2 开发意义................................................. ................................................... (2)1.3 本文的组织结构 ................................................ ................................................... . (2)第2章需求分析 ................................................ ................................................... . (3)2.1系统功能分析 ................................................ ................................................... (3)2.2 设计目标................................................. ................................................... (4)第3章概要设计 ................................................ ................................................... . (5)第4章详细设计 ................................................ ................................................... ..................... (7)4.1文件模块的详细设计 ................................................ ................................................... (7)4.1.1新建模块的详细设计 ................................................ . (7)4.1.2打开模块的详细设计 ................................................ . (8)4.1.3保存、另存模块的详细设计 ................................................ . (8)4.1.4退出模块的详细设计 ................................................ . (9)4.2编辑模块的详细设计 ................................................ ................................................... (9)4.2.1撤销模块的详细设计 ................................................ . (9)4.2.2剪切模块的详细设计 ................................................ .. (10)4.2.3复制模块的详细设计 ................................................ .. (11)4.2.4粘贴模块的详细设计 ................................................ (11)4.2.5删除模块的详细设计 ................................................ .. (12)4.2.6全选模块的详细设计 ................................................ .. (12)4.2.7查找、替换模块的详细设计 ................................................ .. (13)4.3格式模块的详细设计 ................................................ ................................................... . (14)第5章系统测试 ................................................ ................................................... (15)5.1 程序主界面.................................................................................................... (15)5.2文件界面................................................. ................................................... .. (15)5.3编辑菜单................................................. ................................................... .. (17)第6章小结 ................................................ ................................................... .. (27)参考文献 ................................................ ................................................... . (27)摘要本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。
java课程设计
课程设计(论文)题目名称记事本程序课程名称java 程序设计课程设计学生姓名学号系、专业指导教师2010年1 月3 日摘要本次课程设计的题目是用JA V A语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。
本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。
记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。
关键词:记事本程序;Java语言;swing组件目录1 问题描述 (3)2 需求分析 (3)3 概要设计 (3)3.1自定义类说明 (3)3.2 程序流程图 (7)4 详细设计 (7)4.1 jishiben类的实现 (7)4.2 GUI程序界面设计 (7)4.3 事件处理 (9)5 测试分析 (12)6 课程设计总结 (16)6.1设计体会 (16)6.2致谢 (16)参考文献 (17)附录(源程序清单) (18)1 问题描述设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。
这次课程设计由卢炜、刘秀春、伍霜霜和我四个人合作完成。
卢炜负责概要设计,刘秀春负责4.1 jishiben类的实现和4.2 GUI程序界面设计,伍霜霜负责5测试分析。
由于4.3事件处理和撰写程序关系密切,这两项都由我负责。
并且根据伍霜霜的测试的结果重新调整程序。
2 需求分析本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。
(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。
java课程设计记事本设计报告
java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。
1.理解Java编程语言的基本语法和结构。
2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。
3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。
4.熟悉Java中的常用类库和方法。
5.能够运用Java编程语言编写简单的程序。
6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。
7.能够分析并解决编程过程中遇到的问题。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。
2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。
3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。
二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。
1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。
–类和对象的概念,封装、继承和多态的原理。
–常用类库和方法的使用。
2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。
–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。
–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。
三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。
2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。
3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。
4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。
《Java》课程设计》记事本
《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。
(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。
首先是标准型的记事本,拥有文件、编辑。
格式和帮助。
如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。
如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。
如图三所示。
图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。
如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。
如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。
如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。
课程设计java记事本
课程设计 java记事本一、课程目标知识目标:1. 理解Java基本语法结构,掌握面向对象编程的基本概念;2. 学会使用Java编写简单的记事本程序,理解程序的基本结构;3. 了解Java事件处理机制,掌握基本的用户界面设计方法。
技能目标:1. 能够运用所学知识,独立编写、调试和运行Java记事本程序;2. 培养良好的编程习惯,编写结构清晰、易于维护的代码;3. 学会使用集成开发环境(IDE)进行Java程序开发,提高编程效率。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,增强自信心;2. 培养学生的团队协作能力,学会与他人分享和交流编程经验;3. 引导学生认识到编程在生活中的实际应用,培养创新意识和实践能力。
课程性质:本课程为实践性较强的Java编程课程,通过编写记事本程序,让学生掌握Java编程的基本知识和技能。
学生特点:学生处于初中或高中年级,具备一定的计算机操作能力和逻辑思维能力。
教学要求:结合学生特点,注重实践操作,激发学生的学习兴趣,培养编程技能,同时关注情感态度价值观的培养。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java基本语法:变量、数据类型、运算符、控制语句(条件语句、循环语句);2. 面向对象编程:类与对象、构造方法、封装、继承、多态;3. Java事件处理机制:事件监听器、事件适配器、事件处理方法;4. 用户界面设计:窗口、标签、文本框、按钮等组件的使用;5. Java文件操作:文件的读取与写入、文件的保存与打开;6. 集成开发环境(IDE)的使用:Eclipse或IntelliJ IDEA的基本操作与调试技巧。
教学大纲:第一周:Java基本语法及控制语句学习;第二周:面向对象编程基本概念及实现;第三周:Java事件处理机制及用户界面设计;第四周:Java文件操作及记事本程序编写;第五周:实践与调试,完善记事本程序。
java编写的记事本源代码
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.text.*;import javax.swing.event.*;public class IJMFrame extends JFrame {Document document = null;JTextArea textArea = new JTextArea();JScrollPane scrollPane = new JScrollPane(textArea); EditController controller;//------ 定义菜单变量------//JMenuBar menuBar = new JMenuBar();JMenu menuFile = new JMenu("文件");JMenu menuEdit = new JMenu("编辑");JMenu menuFormat = new JMenu("格式"); JPopupMenu memuPopup = new JPopupMenu(); JMenuItem itemNew = new JMenuItem("新建"); JMenuItem itemOpen = new JMenuItem("打开"); JMenuItem itemSave = new JMenuItem("保存"); JMenuItem itemSaveAs = new JMenuItem("另存"); JMenuItem itemExit = new JMenuItem("退出"); JMenuItem itemUndo = new JMenuItem("撤消"); JMenuItem itemCut = new JMenuItem("剪切"); JMenuItem itemCopy = new JMenuItem("复制"); JMenuItem itemPaste = new JMenuItem("粘贴"); JMenuItem itemDelete = new JMenuItem("删除"); JMenuItem itemFind = new JMenuItem("查找"); JMenuItem itemReplace = new JMenuItem("替换"); JMenuItem itemSelectAll = new JMenuItem("全选"); JMenuItem itemFont = new JMenuItem("字体");//------------定义右键菜单------------------------// JMenuItem popupMenu_Undo=new JMenuItem("撤销"); JMenuItem popupMenu_Cut=new JMenuItem("剪切"); JMenuItem popupMenu_Copy=new JMenuItem("复制"); JMenuItem popupMenu_Paste=new JMenuItem("粘贴"); JMenuItem popupMenu_Delete=new JMenuItem("删除"); JMenuItem popupMenu_SelectAll=new JMenuItem("全选");public IJMFrame() {super("记事本");setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setJMenuBar(menuBar);//创建新的菜单栏getContentPane().add(scrollPane);document = textArea.getDocument();textArea.setLineWrap(true);// 默认为换行textArea.setWrapStyleWord(true);//-- 设置菜单--//itemUndo.setEnabled(false);menuBar.add(menuFile);menuBar.add(menuEdit);menuBar.add(menuFormat);menuFile.add(itemNew);menuFile.add(itemOpen);menuFile.add(itemSave);menuFile.add(itemSaveAs);menuFile.addSeparator();menuFile.add(itemExit);menuEdit.add(itemUndo);menuEdit.addSeparator();menuEdit.add(itemCut);menuEdit.add(itemCopy);menuEdit.add(itemPaste);menuEdit.add(itemDelete);menuEdit.addSeparator();menuEdit.add(itemFind);menuEdit.add(itemReplace);menuEdit.add(itemSelectAll);menuFormat.add(itemFont);popupMenu_Undo.setEnabled(false); // 撤消选项初始设为不可用memuPopup.add(popupMenu_Undo);memuPopup.addSeparator();memuPopup.add(popupMenu_Cut);memuPopup.add(popupMenu_Copy);memuPopup.add(popupMenu_Paste);memuPopup.add(popupMenu_Delete);memuPopup.addSeparator();memuPopup.add(popupMenu_SelectAll);//-- 增加菜单的侦听者--//controller = new EditController(this);itemNew.addActionListener(controller);itemOpen.addActionListener(controller);itemSave.addActionListener(controller);itemSaveAs.addActionListener(controller);itemExit.addActionListener(controller);itemUndo.addActionListener(controller);itemCut.addActionListener(controller);itemCopy.addActionListener(controller);itemPaste.addActionListener(controller);itemDelete.addActionListener(controller);itemFind.addActionListener(controller);itemReplace.addActionListener(controller);itemSelectAll.addActionListener(controller);itemFont.addActionListener(controller);popupMenu_Undo.addActionListener(controller);popupMenu_Cut.addActionListener(controller);popupMenu_Copy.addActionListener(controller);popupMenu_Paste.addActionListener(controller);popupMenu_Delete.addActionListener(controller);popupMenu_SelectAll.addActionListener(controller);document.addDocumentListener(controller);document.addUndoableEditListener(controller);addWindowListener(controller);MouseAdapter mAdapter=new MouseAdapter(){public void mousePressed(MouseEvent e) {checkForTriggerEvent(e);}public void mouseReleased(MouseEvent e) {checkForTriggerEvent(e);}private void checkForTriggerEvent(MouseEvent e) {if (e.isPopupTrigger())memuPopup.show(e.getComponent(), e.getX(), e.getY());// 在组件调用者的坐标空间中的位置// X、Y// 显示弹出菜单。
java简单记事本
Java简易记事本编写课题:设计一个简单的Windows记事本,可以实现以下功能1、文件的新建、打开、保存、另存为和退出;2、对文件的编辑,如复制、粘贴、剪切、替换等;3、执行完操作后,能够顺利关闭记事本。
源码:package MyPad;import java.awt.Event;import java.awt.FlowLayout;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.KeyStroke;public class MyPad {static String path = "";public static void main(String[] args) {// 设置主窗体JFrame jf = new JFrame("MyPad");jf.setBounds(220, 90, 800, 600);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JFrame frame = new JFrame("替换");frame.setBounds(220, 90, 300, 250);JLabel l1 = new JLabel(" 原字符串");frame.add(l1);final JTextField tf1 = new JTextField();tf1.setColumns(15);frame.add(tf1);JLabel l2 = new JLabel(" 替换为");final JTextField tf2 = new JTextField();tf2.setColumns(15);JButton button = new JButton("确定");frame.setLayout(new FlowLayout());frame.add(l2);frame.add(tf2);frame.add(button);// 设置菜单栏JMenuBar jmbar = new JMenuBar();jf.setJMenuBar(jmbar);// ===============设置文件菜单===================== JMenu filemenu = new JMenu("文件(F)");JMenuItem newitem = new JMenuItem("新建(N)"); JMenuItem openitem = new JMenuItem("打开(O)");// openitem.setMnemonic('O');JMenuItem saveitem = new JMenuItem("保存(S)"); JMenuItem lsaveitem = new JMenuItem("另存为(A)"); JMenuItem exititem = new JMenuItem("退出(X)"); jmbar.add(filemenu);filemenu.add(newitem);filemenu.add(openitem);filemenu.add(saveitem);filemenu.add(lsaveitem);filemenu.addSeparator();filemenu.add(exititem);// ===============设置编辑菜单===================== JMenu editmenu = new JMenu("编辑(E)");JMenuItem cutitem = new JMenuItem("剪切(T)"); JMenuItem copyitem = new JMenuItem("复制(C)"); JMenuItem pasteitem = new JMenuItem("粘贴(P)"); JMenuItem replaceitem = new JMenuItem("替换(R)"); jmbar.add(editmenu);editmenu.add(cutitem);editmenu.add(copyitem);editmenu.add(pasteitem);editmenu.add(replaceitem);// ===============设置帮助菜单=====================JMenu helpmenu = new JMenu("帮助(H)");JMenuItem helpitem = new JMenuItem("MyPad说明(A)");jmbar.add(helpmenu);helpmenu.add(helpitem);final JTextArea text = new JTextArea();JScrollPane jsp = new JScrollPane(text);jf.add(jsp);jf.setVisible(true);// ===============设置快捷键=====================newitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, Event.CTRL_MASK));openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK));saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));cutitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Event.CTRL_MASK));copyitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, Event.CTRL_MASK));pasteitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK));replaceitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, Event.CTRL_MASK));// ===============实现新建功能=====================newitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {if (text.getText().equals(""))text.setText("");else {int value = JOptionPane.showConfirmDialog(null, "是否要保存文本?","提示", JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value == JOptionPane.YES_OPTION)try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}text.setText("");}}});// ===============实现打开功能=====================openitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {if (text.getText().equals(""))nw(text);else {int value = JOptionPane.showConfirmDialog(null, "是否要保存文本?","提示", JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value == JOptionPane.YES_OPTION)try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}else if (value == JOptionPane.NO_OPTION)text.setText("");elsereturn;nw(text);}}});// ===============实现保存功能=====================saveitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {String text_ = text.getText();try {save(text_);} catch (IOException e1) {e1.printStackTrace();}}});// ===============实现另存为功能=====================lsaveitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {String text_ = text.getText();try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}}});// ===============实现退出功能=====================exititem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {if (text.getText().equals(""))System.exit(0);else {int value = JOptionPane.showConfirmDialog(null, "是否要保存文本?","提示", JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value == JOptionPane.YES_OPTION)try {lsave(text_);} catch (IOException e1) {e1.printStackTrace();}System.exit(0);}}});// ===============实现剪切功能===================== cutitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) { text.cut();}});// ===============实现复制功能===================== copyitem.addMouseListener(new MouseAdapter() { @Overridepublic void mouseReleased(MouseEvent e) { text.copy();}});// ===============实现粘贴功能===================== pasteitem.addMouseListener(new MouseAdapter() { @Overridepublic void mouseReleased(MouseEvent e) { text.paste();}});// ===============实现替换功能===================== replaceitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) { frame.setVisible(true);}});button.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {String reptext =text.getText().replaceAll(tf1.getText(),tf2.getText());text.setText("");text.append(reptext);}});// ===============实现MyPad说明功能================helpitem.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {JOptionPane.showOptionDialog(null, "程序名称:\n MyPad \n"+ "程序设计:\n Java课程设计 \n" + "简介:\n 一个简单的文字编辑器\n"+ " 制作: 软件工程小Y\n" + "联系方式:******@","关于MyPad", JOptionPane.DEFAULT_OPTION,RMATION_MESSAGE, null, null, null);}});}// Mainpublic static void openfile(File file, JTextArea text) throws IOException {BufferedReader bufr = new BufferedReader(new FileReader(file));String line = null;while ((line = bufr.readLine()) != null) {text.append(line);text.append("\r\n");}bufr.close();}public static void nw(JTextArea text) {JFileChooser chooser = new JFileChooser();if (chooser.showOpenDialog(chooser) ==JFileChooser.APPROVE_OPTION) {String path = chooser.getSelectedFile().getAbsolutePath();File file = new File(path);try {openfile(file, text);} catch (IOException e1) {e1.printStackTrace();}}}public static void lsave(String text) throws IOException { JFileChooser chooser = new JFileChooser();File file = null;if (chooser.showSaveDialog(chooser) ==JFileChooser.APPROVE_OPTION) {{path = chooser.getSelectedFile().getAbsolutePath();file = new File(path);savefile(file, text);}}}public static void save(String text) throws IOException {JFileChooser chooser = new JFileChooser();File file = null;if (path.equals("")) {if (chooser.showSaveDialog(chooser) ==JFileChooser.APPROVE_OPTION) {path = chooser.getSelectedFile().getAbsolutePath();} elsereturn;}file = new File(path);savefile(file, text);}public static void savefile(File file, String text) throws IOException {byte[] b = text.getBytes();if (file != null) {BufferedOutputStream bufw = new BufferedOutputStream( new FileOutputStream(file));bufw.write(b, 0, b.length);bufw.close();}}}。
Java程序设计实验报告-JAVA记事本
华北科技学院计算机系综合性实验
实验报告
课程名称Java程序设计B
实验学期2011 至2012 学年第 1 学期学生所在系部计算机学院
年级2009 专业班级网络B093
学生姓名学号
任课教师
实验成绩
计算机系制
华北科技学院计算机系综合性实验报告
《Java程序设计B》课程综合性实验报告
开课实验室:基础实验室2011 年11 月16 日
第 1 页
2
华北科技学院计算机系综合性实验报告
第 3 页
4
华北科技学院计算机系综合性实验报告
第 5 页
6
华北科技学院计算机系综合性实验报告
第7 页
8
华北科技学院计算机系综合性实验报告
第9 页
10。
java笔记4(布局管理器常用组件qq聊天界面记事本)
Java笔记4(布局管理器、常用组件、qq聊天界面、记事本)文件结构Java代码布局管理器Demo8_1.java package com.test1; import javax.swing.JButton; import javax.swing.JFrame; public classDemo8_1 extends JFrame //继承JFrame { /*** @param args */ public static voidmain(String[] args) { Demo8_1 demo8_1=new Demo8_1(); } //把需要的组件定义在这里JButton jb1=null; //定义一个按钮//构造函数public Demo8_1() { ////JFrame是一个顶层容器类(可以添加其它swing组件的类) //JFrame jf=new JFrame(); //给窗体设置标题this.setTitle("Hello world"); //设置大小,按像素this.setSize(200, 200); //设置初始位置this.setLocation(100,200); //创建一个按钮jb1=new JButton("我是一个按钮!"); //添加JButton组件this.add(jb1); //设置当关闭窗口时,保证JVM也退出this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示this.setVisible(true); } } 常用组件常Demo8_2.java /* * BorderLayout演示*1.继承JFrame *2.定义组件*3.创建组件(构造函数) *4.添加组件*5.对窗体设置*6.显示窗体*/ package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_2 extends JFrame{ /** * @param args */ //定义组件JButton jb1,jb2,jb3,jb4,jb5; public static void main(String[] args) { // TODOAuto-generated method stub Demo8_2demo8_2=new Demo8_2(); } publicDemo8_2() { //创建组件jb1=new JButton("中部"); jb2=new JButton("北部"); jb3=new JButton("南部"); jb4=new JButton("东部");jb5=new JButton("西部"); //添加各个组件this.add(jb1,BorderLayout.CENTER);this.add(jb2,BorderLayout.NORTH);this.add(jb3,BorderLayout.SOUTH);this.add(jb4,BorderLayout.EAST);this.add(jb5,BorderLayout.WEST); //设置窗体属性this.setTitle("边界布局的案例");this.setSize(300,200); this.setLocation(200,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示窗体this.setVisible(true); } }Demo8_3.java /* * 功能:流式:流式布局案例*/ package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_3 extends JFrame{ /** * @param args */ //定义需要的组件JButton jb1,jb2,jb3,jb4,jb5,jb6;public static void main(String[] args) { // TODOAuto-generated method stub Demo8_3 demo8_3=new Demo8_3(); } //构造函数public Demo8_3() { //创建组件jb1=new JButton("关羽"); jb1.setSize(100, 100); jb2=new JButton("张飞"); jb3=new JButton("赵云");jb4=new JButton("马超"); jb5=new JButton("黄忠");jb6=new JButton("魏延"); //添加组件this.add(jb1); this.add(jb2); this.add(jb3);this.add(jb4); this.add(jb5); this.add(jb6);//设置布局管理器this.setLayout(newFlowLayout(FlowLayout.LEFT)); //设置窗体属性this.setTitle("流式布局案例"); this.setSize(350,200); this.setLocation(200,200); //禁止用户改变窗体大小this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示this.setVisible(true); } }swing编程实战Demo8_4.java /* * 风格布局*/ package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_4 extends JFrame{ int size=9; //定义组件JButton jbs[]=new JButton[size]; public static void main(String[] args) { // TODO Auto-generated method stub //创建实例Demo8_4demo8_4=new Demo8_4(); } //构造函数public Demo8_4() { //创建组件for(inti=0;ijava /* * 多种布局管理器的使用*/ package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_5 extends JFrame { //定义组件JPanel jp1,jp2; JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args) { // TODO Auto-generated method stub Demo8_5 demo8_5=new Demo8_5(); }//构造函数public Demo8_5() { //创建组件//JPanel布局默认是FlowLayout jp1=new JPanel();jp2=new JPanel(); jb1=new JButton("西瓜");jb2=new JButton("苹果"); jb3=new JButton("荔枝");jb4=new JButton("葡萄"); jb5=new JButton("桔子");jb6=new JButton("香蕉"); //设置布局//添加jp1.add(jb1); jp1.add(jb2); jp2.add(jb3);jp2.add(jb4); jp2.add(jb5); //把Panel 加入JFrame this.add(jp1,BorderLayout.NORTH); this.add(jb6,BorderLayout.CENTER);this.add(jp2,BorderLayout.SOUTH);this.setSize(300,150); this.setLocation(200,200); this.setVisible(true); } } Demo8_6.java package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_6 extends JFrame{ /** * @param args */ //定义组件JPanel jp1,jp2,jp3; //三个子面板JLabeljlb1,jlb2; //标签JButton jb1,jb2; //两个按钮JTextField jtf1,jpf1; //两个文本输入框public static void main(String[] args) { // TODOAuto-generated method stub Demo8_6demo8_6=new Demo8_6(); } //构造函数public Demo8_6() { jp1=new JPanel();jp2=new JPanel(); jp3=new JPanel();jlb1=new JLabel("用户名:"); jlb2=new JLabel("密码:"); jb1=new JButton("登录"); jb2=new JButton("取消"); jtf1=new JTextField(10); //用户名文本框jpf1=new JPasswordField(10); //密码文本框//设置布局管理this.setLayout(new GridLayout(3,1));//加入各个组件jp1.add(jlb1); jp1.add(jtf1);jp2.add(jlb2); jp2.add(jpf1); jp3.add(jb1);jp3.add(jb2); //加入到JFrame this.add(jp1); this.add(jp2); this.add(jp3); this.setTitle("会员管理系统"); this.setSize(250,130);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } } Demo8_7.java/* * 复选框或单选框的案例*/ package com.test1; import java.awt.*; importjavax.swing.*; public class Demo8_7 extends JFrame{ //定义JPanel jp1,jp2,jp3;JLabel jl1,jl2; JButton jb1,jb2; JCheckBoxjcb1,jcb2,jcb3; JRadioButton jrb1,jrb2;ButtonGroup bg; public static void main(String[] args) { // TODO Auto-generated method stubDemo8_7 dmeo8_7=new Demo8_7(); } //构造函数public Demo8_7() { //创建组件jp1=new JPanel(); jp2=new JPanel(); jp3=new JPanel(); jl1=new JLabel("你喜欢的运动:");jl2=new JLabel("你的性别:"); jb1=new JButton("注册用户"); jb2=new JButton("取消注册");jcb1=new JCheckBox("足球"); jcb2=newJCheckBox("篮球"); jcb3=new JCheckBox("网球");jrb1=new JRadioButton("男"); jrb2=new JRadioButton("女"); //一定要把jrb1,jrb2放入到一个ButtonGroup ButtonGroup bg=new ButtonGroup(); bg.add(jrb1); bg.add(jrb2);//设置布局管理器this.setLayout(new GridLayout(3,1)); //添加组件jp1.add(jl1); jp1.add(jcb1);jp1.add(jcb2); jp1.add(jcb3); jp2.add(jl2);jp2.add(jrb1); jp2.add(jrb2); jp3.add(jb1);jp3.add(jb2); this.add(jp1); this.add(jp2); this.add(jp3); this.setSize(300,150);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } } Demo8_8.java/* * JCombobox/JList/JScrollPane */package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_8 extends JFrame { //定义JPanel jp1,jp2;JLabel jl1,jl2; JComboBox jcb1; JList jlist; JScrollPane jsp; public static void main(String[] args) { // TODO Auto-generated method stubDemo8_8 demo8_8=new Demo8_8(); } //构造函数public Demo8_8() { jp1=new JPanel(); jp2=new JPanel(); jl1=new JLabel("你的籍贯:"); jl2=new JLabel("旅游地点:"); String []jg={"北京","上海","天津","火星"}; jcb1=new JComboBox(jg); String []dd={"九寨沟","故宫","长城","兵马俑"}; jlist=new JList(dd);jlist.setVisibleRowCount(2);//设置你希望显示多少个选项jsp=new JScrollPane(jlist); //设置布局this.setLayout(new GridLayout(3,1)); //添加组件jp1.add(jl1); //加到面板1当中jp1.add(jcb1);jp2.add(jl2); //加到面板2当中jp2.add(jsp);this.add(jp1); //把面板加入到窗体当中this.add(jp2); //设置窗体属性this.setSize(200,180);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } } Demo8_9.java /* * 词霸*/ package com.test1;import java.awt.*; import javax.swing.*;public class Demo8_9 extends JFrame{ //定义组件JSplitPane jsp; JList jList; JLabel jl1; public static void main(String[] args) { // TODOAuto-generated method stub Demo8_9demo8_9=new Demo8_9(); } publicDemo8_9() { //创建组件String []words={"迈克尔-杰克逊","中国","导游"}; jList=new JList(words); jl1=new JLabel(new ImageIcon("images/迈克尔-杰克逊2.jpg")); //拆分窗格jsp=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jl1);//设置窗格可以伸缩jsp.setOneTouchExpandable(true); //设置布局管理器//添加组件this.add(jsp);//设置大小this.setSize(550,632);this.setLocation(200,200);this.setVisible(true); } }Demo8_10.java /* * qq聊天器*/package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_10 extends JFrame{ JTextArea jta=null; JScrollPane jsp=null; //滚动面板JPanel jp1=null;JComboBox jcb=null; JTextField jtf=null; JButton jb=null; public static void main(String[] args) { // TODO Auto-generated method stubDemo8_10 demo8_10=new Demo8_10(); }//构造public Demo8_10() { jta=new JTextArea(); jsp=new JScrollPane(jta); //为文本域添加滚动条jp1=new JPanel(); String []chatter={"布什","拉登"}; jcb=new JComboBox(chatter);jtf=new JTextField(10); jb=new JButton("发送");//设置布局//添加组件jp1.add(jcb);jp1.add(jtf); jp1.add(jb); //加入JFrame this.add(jsp); this.add(jp1,BorderLayout.SOUTH);//设置窗体属性this.setSize(300,200);this.setIconImage((newImageIcon("images\\rowin2.gif")).getImage());this.setTitle("简单QQ");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } }Demo8_11.java /* * qq登录界面制作*/ package com.test1; import java.awt.*; import javax.swing.*; public class Demo8_11 extends JFrame{ //北部区域JLabel jl1; //南部区域JButton jb1,jb2,jb3; JPanel jp1;//中部区域JTabbedPane jtp;//选项卡窗格JPanel jp2,jp3,jp4;//三个子面板JLabeljl2,jl3,jl4,jl5; //号码输入文本框JTextField jtf; //密码JPasswordField jpf; //清除号码button JButton jb4; //隐身登录,记住密码JCheckBoxjcb1,jcb2; public Demo8_11() { //创建组件jl2=new JLabel("QQ号码",JLabel.CENTER);jl3=new JLabel("QQ密码",JLabel.CENTER); jl4=new JLabel("忘记密码",JLabel.CENTER);jl4.setFont(new Font("宋体",Font.PLAIN,16));//设置字体样式jl4.setForeground(Color.BLUE);//设置字体颜色jl5=new JLabel("申请密码保护");jl5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_ CURSOR)); //输入号码框jtf=new JTextField(); //输入密码框jpf=new JPasswordField(); jb4=new JButton(newImageIcon("images\\清除号码.jpg")); //复选框jcb1=new JCheckBox("隐身登录"); jcb2=new JCheckBox("记住密码"); //北部区域jl1=new JLabel(new ImageIcon("images\\老虎.jpg"));//南部区域jp1=new JPanel(); jb1=newJButton(new ImageIcon("images\\登录.gif")); jb2=new JButton(new ImageIcon("images\\取消.gif")); jb3=new JButton(new ImageIcon("images\\向导.gif")); //中部区域jtp=new JTabbedPane(); jp2=new JPanel(); jp3=new JPanel();jp3.setBackground(Color.RED);//给面板设置背景颜色jp4=new JPanel(); jp4.setBackground(newColor(0,0,255));//用另一种方法设置背景颜色//将面板添加到选项卡窗格上jtp.add("QQ号码",jp2); //第一个参数代表选项卡的名称,第二个参数代表面板jtp.add("手机号码",jp3); jtp.add("电子邮箱",jp4);//设置布局jp2.setLayout(new GridLayout(3,3));//添加组件//南部jp1.add(jb1); jp1.add(jb2); jp1.add(jb3); //中部jp2.add(jl2);//QQ号码jp2.add(jtf);//号码框jp2.add(jb4);//清除号码按钮jp2.add(jl3);//密码jp2.add(jpf);//密码框jp2.add(jcb1);//记住密码jp2.add(jcb2);//隐身登录jp2.add(jl5);//申请密码保护this.add(jp1,BorderLayout.SOUTH);//加入南部子面板this.add(jl1,BorderLayout.NORTH);//加入北部子面板this.add(jtp,BorderLayout.CENTER);//把选项卡加入中部//展现组件ImageIcon icon=newImageIcon("images\\rowin.gif");this.setIconImage(icon.getImage());this.setSize(350,240); this.setLocation(300,400); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { newDemo8_11(); } } Demo8_12.java /* * 记事本界面*/ package com.test1;import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Demo8_12 extends JFrame{ JMenuBar jmb;//菜单条组件JMenu menu1,menu2,menu3,menu4,menu5;JMenuItem item2,item3,item4,item5,item6,item7;JMenu xinjian;//二级菜单JMenuItem file,project; JTextArea jta; //文本输入区域//工具条JToolBar jtb; JButton jb1,jb2,jb3,jb4,jb5,jb6;public Demo8_12() { //创建组件jtb=new JToolBar(); jb1=new JButton(newImageIcon("images\\new.jpg")); jb1.setToolTipText("新建");//设置提示信息jb2=new JButton(new ImageIcon("images\\open.jpg")); jb2.setToolTipText("打开"); jb3=new JButton(newImageIcon("images\\save.jpg")); jb4=newJButton(new ImageIcon("images\\copy.jpg"));jb5=new JButton(new ImageIcon("images\\cut.jpg"));jb6=new JButton(new ImageIcon("images\\paste.jpg")); jmb=new JMenuBar(); menu1=new JMenu("文件(F)"); menu1.setMnemonic('F');//设置助记符menu2=new JMenu("编辑(E)");menu2.setMnemonic('E'); menu3=new JMenu("格式(O)"); menu3.setMnemonic('O'); menu4=new JMenu("查看(V)"); menu4.setMnemonic('V');menu5=new JMenu("帮助(H)");menu5.setMnemonic('H'); //item1=new JMenuItem("新建"); xinjian=new JMenu("新建");file=new JMenuItem("文件"); project=new JMenuItem("工程"); item2=new JMenuItem("打开",new ImageIcon("new.gif")); item3=new JMenuItem("保存(s)"); item3.setMnemonic('s');//给菜单添加快捷方式item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.V K_S,InputEvent.ALT_MASK)); item4=new JMenuItem("另存为"); item5=new JMenuItem("页面设置"); item6=new JMenuItem("打印"); item7=new JMenuItem("退出"); jta=new JTextArea();//设置布局//添加组件//将按钮添加到工具条上jtb.add(jb1); jtb.add(jb2); jtb.add(jb3); jtb.add(jb4); jtb.add(jb5); jtb.add(jb6);//将菜单项添加到菜单上xinjian.add(file);xinjian.add(project); menu1.add(xinjian);menu2.add(item2); menu1.add(item3);menu1.add(item4); menu1.addSeparator();//添加分割线menu1.add(item5); menu1.add(item6);menu1.addSeparator(); menu1.add(item7);//将菜单添加到菜单条上jmb.add(menu1);jmb.add(menu2); jmb.add(menu3);jmb.add(menu4); jmb.add(menu5); //将菜单条添加到窗体上this.setJMenuBar(jmb);//将工具条添加到窗体上this.add(jtb,BorderLayout.NORTH); //给文本域添加滚动条JScrollPane jsp=new JScrollPane(jta); jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SC ROLLBAR_AS_NEEDED); this.add(jsp); //展现this.setTitle("记事本"); ImageIcon icon=new ImageIcon("images\\rowin.gif");this.setIconImage(icon.getImage());//设置窗体图标this.setSize(500,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { Demo8_12 demo8_12=new Demo8_12(); } }。
JAVA--简单记事本源代码
JAVA--简单记事本源代码import javax.swing.JFrame;import javax.swing.JTextArea;import java.awt.*;import java.awt.event.*;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import javax.swing.*;import javax.swing.plaf.FileChooserUI;public class notepad extends JFrame implements ActionListener{//定义所需要的组件JTextArea jta=null;JMenuBar jmb=null;JMenu jm=null;JMenuItem jmi1=null;JMenuItem jmi2=null;public static void main(String[]args){new notepad();}public notepad(){//把组件添加到窗体上jta=new JTextArea();jmb=new JMenuBar();this.add(jta);this.setJMenuBar(jmb);//设置窗体属性this.setTitle("简易记事本");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(400, 300);this.setVisible(true);//把菜单添加进菜单条jm=new JMenu("⽂件");jm.setMnemonic('f');jmb.add(jm);//把⼦菜单加⼊⾄菜单jmi1=new JMenuItem("打开");jmi2=new JMenuItem("保存");jmi1.setActionCommand("open");jmi2.setActionCommand("save");jm.add(jmi1);jm.add(jmi2);//为两个字菜单注册事件监听jmi1.addActionListener(this);jmi2.addActionListener(this);}public void actionPerformed(ActionEvent e){//对点击了打开进⾏处理if(e.getActionCommand().equals("open")){//创建⼀个⽂件选择组件JFileChooser jfc1=new JFileChooser();//设置⽂件选择器的名字jfc1.setDialogTitle("请选择⽂件....");//设置⽂件选择组件的类型(打开类型)jfc1.showOpenDialog(null);//显⽰该组件jfc1.setVisible(true);//获取选择⽂件的绝对路径String s;s=jfc1.getSelectedFile().getAbsolutePath();//将该⽂件显⽰到记事本上BufferedReader br=null;FileReader fr=null;try{//创建⼀个带缓冲的⽂件读取对象fr=new FileReader(s);br=new BufferedReader(fr);String text="";String m=null;//循环读取⽂件while((m=br.readLine())!=null){text+=m+"\r\n";}//将读取的结果打印到记事本上⾯this.jta.setText(text);}catch(Exception e1){e1.printStackTrace();}finally{//关掉打开的⽂件try{br.close();fr.close();}catch(Exception e2){e2.printStackTrace();}}}else if(e.getActionCommand().equals("save")){//创建⼀个⽂件选择组件JFileChooser jfc=new JFileChooser();//设置⽂件选择的名称jfc.setDialogTitle("另存为");//设置⽂件选择组件的类型(保存类型)jfc.showSaveDialog(null);//显⽰该组件jfc.setVisible(true);//获取选择⽂件的绝对路径String filename;filename=jfc.getSelectedFile().getAbsolutePath(); //将记事本内的⽂本保存⾄该路径BufferedWriter bw=null;FileWriter fw=null;try{//创建⽂件输出⽂件fw=new FileWriter(filename);bw=new BufferedWriter(fw);//获取⽂本String outtext="";outtext=this.jta.getText();//输出⽂本fw.write(outtext);}catch(Exception e2){e2.printStackTrace();}finally{//关闭打开的输出⽂件try{bw.close();fw.close();}catch(Exception e3){e3.printStackTrace();}}}}}。
Java开发日历记事本
E m i xj cc e. — a : s@cc. t n l l n c
h t :ww d z .e .n t / w.n sn t p/ o
Te h+8 55l 56 96 56 09 4 6— 一 90 3 9 6
C m ue K o  ̄d ea d T c n l y电脑 知识 与技术 o p tr n we g n e h o g o
号 码 排 列算 法 : 方 法包 含 两 个 整 形 参 数 , 该 分别 是 星期 几 和 月 天数 。该 方法 的作 用是 将 日期 一 次 排 列 人 日历 牌 的 网格 中 , 日期
2算 法描述
主 类 的算 法 :a n aP d类 首先 创 建 用 于 布 局 的 面 板 , 面 添 加 日历 牌 , 面 添加 记事 本 。然后 调 用 C ln aPd方 法 , 方 法 C l dra e 左 右 a d ra e 该
有 三 个 分 别 是 y a, n , a e r mo t d y的整 形 参 数 。该 方 法 管 理 日历 记 事 本 的 主 界 面 。在 E历 牌 部 分 使 用 网格 布 局 , h t 行数 和列 数 均 为 7 。其 中第 一 行 显示 星期 标 题 的标 签 . 续 六 行 显 示 日期 的标 签 。 后
g g .Thebai unc on fCae d rh v r w s a a em odfe . ua e s f t so l n a a e b o e nd d t c i i d The i bai unci so N o e a v np , a ,d lt ,ve . scf ton .f t p d ha e i ut sve ee e iw
java编程记事本代码
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; public class Notepad extends JFrame {係统组件声明private JMenuBar menuBar = new JMe nuBar(; private JEditorPa ne content = new JEditorPa ne(; private JScrollPa ne scroll = new JScrollPa ne(c ontent; private JFileChooser filechooser = new JFileChooser(; private BorderLayout bord = new BorderLayout(; private JLabel statusBar = new JLabel(; private JPanel pane = new JPanel(; private File file = null; /定义文件菜单private JMenu fileMenu = new JMenu(; private JMenultem newMenultem = new JMenultem(; private JMe nultem ope nMen ultem = new JMe nultem(; private JMe nultem saveMe nultem = new JMe nultem(; private JMe nultem saveAsMe nultem = new JMe nultem(; private JMe nultem pageSetupMe nultem = new JMe nultem(; private JMe nultem prin tMe nultem = new JMe nultem(; private JMe nultem exitMe nultem = new JMenultem(; // 定义风格菜单private JMenu styleMenu = new JMenu(; private Butt on Group styleMe nu Group = new Butt on Group(; private JRadioButt onMen ultem javaStyleMe nultem = new JRadioButt onMen ultem(; private JRadioButt onMen ultem metalStyleMe nultem = new JRadioButt onMen ultem(; private JRadioButt onMen ultem windowsStyleMenultem = new JRadioButtonMenultem(; // 定义帮助菜单private JMe nultem aboutMe nultem = new JMe nultem(; private JMe nultem helpTopicMe nultem =new JMenultem(; private JMenu helpMenu = new JMenu(; 〃构造函数public Notepad({ initComponents(; } private void initComponents({ // 添加子菜单项到文件菜单fileMe nu.setText("\u6587\u4ef6 (F"; n ewMe nultem.setText(” 新建(NCtrl+N"; ope nMen ultem.setText(” 打开(O…Ctrl+O"; saveMe nultem.setText(”保存(S Ctrl+S"; saveAsMenultem.setText(” 另存为(A..."; pageSetupMenultem.setText(” 页面设置(U..."; printMenultem.setText(” 打印(P... Ctrl+P"; exitMe nultem.setText(” 退出";fileMe nu.add( newMe nultem;fileMe nu .add(ope nMen ultem; fileMe nu .add(saveMe nultem; fileMe nu .add(saveAsMe nultem; fileMe nu.addSeparator(; fileMenu.add(pageSetupMenultem;fileMenu.add(printMenultem; fileMe nu.addSeparator(; fileMe nu.add(exitMe nultem; // 添加子菜单项到风格菜单styleMe nu.setText(‘ 风格(S"; javaStyleMe nultem.setText("Java 默认";metalStyleMe nultem.setText("Metal 风格";wi ndowsStyleMe nultem.setText("Wi ndows 风格";styleMe nuGroup.add(javaStyleMe nultem;styleMe nuGroup.add(metalStyleMe nuItem;styleMe nu Group.add(wi ndowsStyleMe nultem; styleMe nu .add(javaStyleMe nultem; styleMe nu.add(metalStyleMe nultem; styleMe nu.add(wi ndowsStyleMe nultem; // 添加子菜单项到帮助菜单helpMenu.setText(‘帮助(H"; helpTopicMenultem.setText(” 帮助主题(H"; aboutMenultem.setText(” 关于记事本(A";helpMe nu .add(helpTopicMe nultem; helpMe nu .addSeparator(;helpMe nu .add(aboutMe nultem; //定义文件菜单下的事件监听n ewMe nultem.addActio nListe ner(new n ewMe nultem_actio nAdapter(this; ope nMen ultem.addActio nListe ner(new ope nMen ultem_actio nAdapter(this; saveMenultem.addActio nListe ner(new saveMe nultem_actio nAdapter(this; saveAsMe nultem.addActio nListe ner(new saveAsMe nultem_actio nAdapter(this; pageSetupMe nultem.addActio nListe ner(new pageSetupMe nultem_actio nAdapter(this; prin tMe nultem.addActi on Liste ner(n ew prin tMe nultem_actio nAdapter(this;exitMenultem.addActionListener(new exitMenultem_actionAdapter(this; // 定义风格菜单下的事件监听javaStyleMenultem.addActionListener(newjavaStyleMenultem_actionAdapter(this; metalStyleMenultem.addActionListener(new metalStyleMe nultem_actio nAdapter(this;wi ndowsStyleMe nultem.addActio nListe ner(newwi ndowsStyleMe nultem_actio nAdapter(this; // 定义帮助菜单下的事件监听helpTopicMe nultem.addActio nListe ner(new helpTopicMe nultem_actio nAdapter(this; aboutMe nultem.addActio nListe ner(new aboutMe nultem_actio nAdapter(this; 〃填加菜单至U菜单栏menuBar.add(fileMenu; menuBar.add(styleMenu; menuBar.add(helpMenu; // 对主窗口的一些设置this.setDefaultCloseOperation(EXIT_ON_CLOSE; this.setTitle(" 纪生的记事本";this.setSize(640,480; setJMenuBar(menuBar; pane.setLayout(bord;pane.add("Center",scroll; setContentPane(pane; } /定义新建菜单项方法public void newMe nultemActio nPeformed(Actio nEve nt evt{ file = nu II;if(!("".equals(co nten t.getText({ Object]] optio ns = {" 是(Y "," 否(N "," 取消"}; int s = JOptio nPan e.showOptio nDialog( null, "\u6587\u4ef6 "+getTitIe(+"\u7684\u6587\u5b57\u5df2\u7ecf\u6539\u53d8\u3002\n\u60f3\u4fdd\u5b58\u6587\u4ef6 \u5417\uff1f", "\u8bb0\u4e8b\u672c", JOptio nPan e.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]; switch(s{ case 0: int returnVal=filechooser.showSaveDialog(this; if(returnVal ==JFileChooser.APPROVE_OPTION { file=filechooser.getSelectedFile(; try{ FileWriterfw=new FileWriter(file; fw.write(co nten t.getText(;setTitle(filechooser.getSelectedFile(.getName(+" - \u8bb0\u4e8b\u672c"; fw.close(; } catch(Excepti on e{ e.pri ntStackTrace(; } break; } case 1: conten t.setText(""; setTitle("无标题-\u8bb0\u4e8b\u672c"; } } } // 定义打开菜单项方法public voidope nMen ultemActio nPeformed(Actio nEve nt evt{ try { file = n ull; int returnVal = filechooser.showOpenDialog(this; if(returnVal ==JFileChooser.APPROVE_OPTION{ file = filechooser.getSelectedFile(; FileReader fr = new FileReader(file; int len = (in tfile .len gth(; char[] buffer = new char[le n]; fr.read(buffer,0,le n; fr.close(; conten t.setText (newString(buffer; } } catch(Exception e{ e.printStackTrace(; } } // 定义退出菜单项方法public void exitMe nultem_actio nPeformed(Actio nEve nte{ if(!("".equals(co nte nt.getText({ Object]] optio ns = {" 是(Y "," 否(N "," 取消"}; int s = JOptionPane.showOptionDialog(null,"文件的文字已经改变。
使用记事本编写java程序进行自我介绍
使用记事本编写java程序进行自我介绍下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!使用记事本编写java程序进行自我介绍是每一个Java程序员在学习和工作中都会经历的过程。
JAVA简单记事本程序设计实验报告(带源码)要点
JAVA程序设计实验报告院系:信息工程系专业:计算机应用技术班级:11计算机01班姓名:Civen任课教师:XXX实验题目:JA V A简单记事本程序设计目录目录 (1)一、引言 (2)1.1 课程设计目的 (2)1.2 题目说明 (2)1.3 开发工具介绍 (2)二、总体设计 ......................................................................... - 4 -2.1系统开发平台.............................................................. - 4 -2.2 系统流程图 (4)2.3功能结构图.......................................错误!未定义书签。
2.4数据库设计.......................................错误!未定义书签。
三、详细说明 (4)3.1 系统实施................................................................... - 11 -四、系统的调试和运行 (9)五、课程设计总结 (9)六、参考文献 (9)附录(源程序代码) (10)一、引言1.1 课程设计目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;3) 培养学生在项目开发中团队合作精神,创新意识及能力。
1.掌握窗口、菜单等高级组件的应用。
2.掌握Java Swing的使用方法。
3.了解GUI应用程序的创建过程与方法。
1.2 题目说明课题:学生成绩管理4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项文件新建、打开、保存、退出编辑剪切、拷贝、粘贴、查找帮助关于5.实现文件和编辑菜单里的功能1.3 开发工具介绍Eclipse是一种可扩展的开放源代码IDE。
java记事本源代码
JMenuItem m13=new JMenuItem("另保存为 ");
m13.addActionListener(this);
JMenuItem m14=new JMenuItem("退出 ");
m14.addActionListener(this);
{
myfr fr=new myfr("JAVA记事本");
fr.setSize(560,395);
}
}
///////////////////////////myfr主窗体类//////////////////////////////////////
class myfr extends JFrame implements ActionListener
JTextArea txt1; //主输入文本区
File newfiles;
JPopupMenu popm; //弹出菜单声明
//JMenu m1,m2,m3,m4,m5,m6; //各菜单项
JMenu m1, m2, m3;
JMenuItem m26,m271,m34,p_copy,p_cut,p_paste,p_del;
replb.addActionListener(this);
mainpane=(JPanel)this.getContentPane();
mainpane.setLayout(new BorderLayout());
txt1=new JTextArea("",13,61);
m21.setAccelerator(keycopy);
java电子日记本代码及运行结果
// 程序主类public class Diary{public static void main(String args[]) throws Exception{new LoginWindow();Remember win=new Remember();win、pack();}}import javax、swing、*;import javax、swing、tree、*;import java、awt、*;import java、awt、event、*;import javax、swing、event、*;import java、io、*;import java、util、*;// 日记本类class Remember extends JFrame implements TreeSelectionListener,ActionListener{private static final String DiaryRoot = null;JTree tree=null;int i=0,r=255,g=255,b=255;JTextArea text=new JTextArea(" ",20,50);DefaultMutableTreeNode root;DefaultMutableTreeNode month[]=new DefaultMutableTreeNode[13];JButton b_save=new JButton("保存"),b_fontCommen=new JButton("还原"),b_fontBig=new JButton("大字"),b_fontRed=new JButton("红色"),b_fontBlue=new JButton("蓝色"),b_bg=new JButton("背景");Remember(){Container con=getContentPane();DefaultMutableTreeNode root=new DefaultMutableTreeNode("日记本");//设置以月份为节点的树for(i=1;i<=12;i++){month[i]=new DefaultMutableTreeNode(""+i+"月");root、add(month[i]);}//设置不同月份的节点for(i=1;i<=12;i++){//处理有31天的月份if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){for(int j=1;j<=31;j++){String s1=month[i]、toString();String s2=j+"日、txt";new );//如果这一天写了日记则相应节点后面添加一个“*”来标志if(()==true) month[i]、add(new DefaultMutableTreeNode(j+"日*"));else month[i]、add(new DefaultMutableTreeNode(j+"日"));}}//处理有30天的月份else if(i==4||i==6||i==9||i==11){for(int j=1;j<=30;j++){String s1=month[i]、toString();String s2=j+"日、txt";new );//如果这一天写了日记则相应节点后面添加一个“*”来标志if(()==true) month[i]、add(new DefaultMutableTreeNode(j+"日*"));else month[i]、add(new DefaultMutableTreeNode(j+"日"));}}//处理有28天的月份else{for(int j=1;j<=28;j++) {String s1=month[i]、toString();String s2=j+"日、txt";new );//如果这一天写了日记则相应节点后面添加一个“*”来标志if(()==true) month[i]、add(new DefaultMutableTreeNode(j+"日*"));else month[i]、add(new DefaultMutableTreeNode(j+"日"));}}}//设置监听b_save、addActionListener(this);b_fontRed、addActionListener(this);b_fontCommen、addActionListener(this);b_fontBig、addActionListener(this);b_fontBlue、addActionListener(this);b_bg、addActionListener(this);//创建树及其面板tree =new JTree(root);JPanel p=new JPanel();//设置边界布局p、setLayout(new BorderLayout());JScrollPane scrollpane_1=new JScrollPane(text);//带滚动条的面板放置到中间,可以占据最大空间位置p、add(scrollpane_1,BorderLayout、CENTER);//设置面板,放置"保存"与"删除"按钮等按钮,面板放在上部JPanel p_1=new JPanel();p_1、add(b_save);p_1、add(b_fontCommen);p_1、add(b_fontBig);p_1、add(b_fontRed);p_1、add(b_fontBlue);p_1、add(b_bg);//设置布局p、add(p_1,BorderLayout、NORTH);JScrollPane scrollpane_2=new JScrollPane(tree);JSplitPane splitpane=new JSplitPane(JSplitPane、HORIZONTAL_SPLIT,true,scrollpane_2,p);tree、addTreeSelectionListener(this);con、add(splitpane);//设置窗体适配器,关闭功能addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System、exit(0);} });setVisible(true);setBounds(200,150,500,600);}//处理树节点事件public void valueChanged(TreeSelectionEvent e){//清空文本区中的内容text、setText(" ");if(e、getSource()==tree){//定义被选中的节点DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree、getLastSelectedPathComponent();//如果就是叶节点,则可以对文件进行操作if(node、isLeaf()){//日记以“-月-日、txt”的形式存储,所以要消除“*”号的影响String str=node、toString();str=str、substring(0,str、length()-1);for(int i=0;i<=12;i++){if(node、getParent()==month[i]){try {String temp=null;//打开以节点(“*”号影响已经消除)所定义的文本为文件名的文件new ()、toString()+str+"、txt");//建立文本文件输入流,读取文件(f);BufferedReader in=new BufferedReader(file);//将读到的文件内容添加到文本区中,按行读入while((temp=in、readLine())!=null)text、append(temp+'\n');();in、close();}catch( e1){ }catch(IOException e1){ }}}}}}//处理按钮事件public void actionPerformed(ActionEvent e){//处理"保存"按钮的事件if(e、getSource()==b_save){DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree、getLastSelectedPathComponent();String str=node、toString();//保存文件时去除“*”号的影响str=str、replace("*","");//如果就是叶节点,则可以对文件进行操作if(node、isLeaf()){//保存文件try{//建立以节点所定义的文本为文件名的文件new ()、toString()+str+"、txt");//建立文本文件输出流to (f);BufferedWriter out=new BufferedWriter(tofile);//将文本区中的内容写到文件缓冲区out、write(text、getText(),0,(text、getText())、length());//将缓冲区中的内容写到文件out、flush();to();out、close();}catch( e1){ }catch(IOException e1){ }}}// 处理"大字"按钮事件else if(e、getSource()==b_fontBig){text、setFont(new Font("Serif",1, 18));}// 处理"普通"按钮事件else if(e、getSource()==b_fontCommen){text、setFont(new Font("Serif",0,12));text、setForeground(Color、black);}// 处理"红色"按钮事件else if(e、getSource()==b_fontRed){text、setForeground(Color、red);}// 处理"蓝色"按钮事件else if(e、getSource()==b_fontBlue) {text、setForeground(Color、blue);}// 处理"背景"按钮事件else if(e、getSource()==b_bg){// 随机变化背景颜色// 随机+ - 操作,当op>0、5时做减法负责做加法,double op = Math、random();double c = Math、random()*10;if(op>0、5){// 使r,g,b三个标志RGB的变量减小一个随机的大小小在0-50之间的数if(c<4) r-=Math、random()*50;if(c>4 && c<7) g-=Math、random()*50;if(c>7) b-=Math、random()*50;}if(op<=0、5){// 使r,g,b三个标志RGB的变量增加一个随机的大小小在0-50之间的数if(c<4) r-=Math、random()*50;if(c>4 && c<7) g-=Math、random()*50;if(c>7) b-=Math、random()*50;}text、setBackground(new Color(r,g,b)); }}//删除文件void del(){// 调用外部命令执行批处理程序try{Runtime ce=Runtime、getRuntime();ce、exec("gxy、bat");} catch(IOException e1){ }}}//登陆窗口类class LoginWindow extends JDialog implements ActionListener{JTextField txtUserName=new JTextField(15); //用户名文本框JTextField txtPwd=new JPasswordField(15);//密码框JButton ok=new JButton("确定");JButton cancel=new JButton("取消");public LoginWindow(){JPanel[] p=new JPanel[4];for(int i=0;i<4;i++ )p[i]=new JPanel();JPanel p1=new JPanel(); //定义并建立面板setModal(true); //设置模态setBackground(Color、LIGHT_GRAY);//设置背景色Container contentPane=this、getContentPane();//取出内容面板contentPane、setLayout(new GridLayout(5,1)); //设置布局为5行1列p[1]、add(new JLabel("用户名:"));p[1]、add(txtUserName); //将组件添加到中间容器p[2]、add(new JLabel("密码:"));p[2]、add(txtPwd);p[3]、add(ok);p[3]、add(cancel);ok、addActionListener(this);cancel、addActionListener(this);txtUserName、addActionListener(this);txtPwd、addActionListener(this);contentPane、add(p[0]); //将面板添加到内容面板contentPane、add(p[1]);contentPane、add(p[2]);contentPane、add(p[3]);setDefaultCloseOperation(JFrame、DISPOSE_ON_CLOSE);//设置自动关闭窗口setSize(300,220);// Dimension 类封装单个对象中组件的宽度与高度Dimension screen=Toolkit、getDefaultToolkit()、getScreenSize(); setLocation((screen、width-300)/2,(screen、height-220)/2);setTitle("登录窗口");setResizable(false); //设置窗口大小固定setVisible(true);}//添加事件监听器public void actionPerformed(ActionEvent e){//处理”确定”按钮事件if(e、getSource()==ok||e、getSource()==txtPwd){if(txtUserName、getText()、trim()、equals("c") && txtPwd、getText()、equals("123"))//如果用户名为c密码为123 则正确{dispose(); //关闭登录窗口}else{JOptionPane、showMessageDialog(null,"用户名或密码错误!");txtUserName、requestFocus(); //设置焦点txtUserName、setSelectionStart(0); //设置选中文本开始位置txtUserName、setSelectionEnd(txtUserName、getText()、length()); }}//处理”取消”按钮事件else if(e、getSource()==cancel){dispose();System、exit(0); //退出程序}else if(e、getSource()==txtUserName) //在用户名文本框按回车移动焦点到密码框{txtPwd、requestFocus();}}}运行,出现登陆界面若输入的用户名与密码有误输入正确的用户名:c正确的密码:123登陆成功,进入电子日记版面输入内容,对字体进行加粗,变色与添加背景点击还原java电子日记本代码及运行结果凡就是在当天有过记录的日期都有*的标志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计课程设计名称:专业班级:学生姓名:学号:指导教师:课程设计时间:记事本一、需求分析使用java GUI实现一个记事本程序,实现文本的输入、修改、选择、存储、加载和文字样式的修改。
实现一个窗体程序,得用到我们学过的轻量级组件,然后再窗体里实现对文件的打开、新建、保存、另存为;实现对文本复制,粘贴,剪切,替换,添加日期/时间;为文字提供自动换行、字体。
其中文本替换实现区分大小写替换,为方便实现需要在建立一个窗体;字体提供用户字形、字体、大小变换。
二、概要设计三、运行环境、开发语言开发环境:JDK1.6 记事本主窗文件编辑格式新建打开保存另存复制粘贴剪切时间换行字体替换窗体字体窗体替换文本框开发语言:java语言四、详细设计1 程序清单表1 程序清单文件名功能MainFrame.java 记事本主窗口PFont.java 字体选项窗口Repalce.java 文本替换窗口2 主要代码2.1 文件打开保存文件的打开保存会根据用户是否修改过文本和是否指定存取文件路径开操作。
通过设置一个全局变量String content=“”;来存放文件刚打开时的文本,然后通过比较content和文本区里面的文本内容来提示用户是否保存!if (!content.equals(text.getText())) {//判断文件是否修改,如果修改就保存,没有修改不做操作int value = JOptionPane.showConfirmDialog(jf, "是否保存修改的文件","提醒", JOptionPane.YES_NO_OPTION);if (value == JOptionPane.YES_OPTION) {try {saveFile();} catch (IOException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(jf, "保存失败" + e1);}}}通过设置一个全局变量File file=null;来记录用户是否指定文件的存取位置,如果用户没有指定,则调用文件选择框让用户选择存取文件。
if (file == null) { //判断文件是否为空,为空则让用户指定!chooser.showSaveDialog(jf);file = chooser.getSelectedFile();}try {saveFile();} catch (IOException e1) {JOptionPane.showMessageDialog(jf, "保存失败" + e1);}文件操作菜单的截图2.2 文本的复制粘贴剪切,替换,增加日期/时间文本的复制粘贴剪切调用的是JTextArea里的方法完成。
//为剪切注册监听器itCut.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {text.cut();}});//为复制注册监听器itCopy.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.copy();}});//为粘贴注册监听器itPaste.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {text.paste();}});文本的替换实现的是整个文本的文字替换,利用正则表达式来实现区分大小写替换。
char[] ch=sfie1.toCharArray();for(int i=0;i<ch.length;i++){st+="["+Character.toLowerCase(ch[i])+Character.toUpperCase(ch[i])+"]";//正则表达式的实现}String str1=str.replaceAll(sfie1, sfie2);替换窗口增加日期/时间是在文本区最后追加日期时间。
利用SimpleDateFormat和Date类实现SimpleDateFormat time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");text.append(time.format(new Date()));2.3 自动换行和字体自动换行调用JTextArea类里的方法实现。
tAutoLine.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {if(itAutoLine.isSelected())text.setLineWrap(true); //调用JTextArea方法elsetext.setLineWrap(false);}});字体窗口利用JList类让用户选着字形、字体、大小,然后把用户所选的字体信息封装到Font对象里,利用ATextArea里的setFont方法改变文字字体信息。
JButton fontOk= new JButton("确定");fontOk.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int fontStyleConst[] = { Font.PLAIN, Font.BOLD, Font.ITALIC, Font.BOLD + Font.ITALIC };Font tempFont = new Font(tfFont.getText(),fontStyleConst[listStyle.getSelectedIndex()],Integer.parseInt(tfSize.getText()));//封装用户选着的字体信息到Font里面,并设置到文本区text.setFont(tempFont);//jf.dispose();}});字体窗口截图五、调试与分析在进行调试编写程序的时候遇到了标志字段的问题,什么时候该加final,什么时候该加static,总是程序报错的时候才发现问题,后来在程序错误的提醒来,一步步完成标志字段的问题。
在程序逻辑问题上主要是文本区里的内容是否被修改,是否该提醒用户保存,后来用了个全局变量来存放原始的文本,通过比较这个变量跟文本区里的文本来判断是否提醒用户保存。
六、功能测试文本已被修改,提醒用户保存。
文本替换,提供区分大小写替换前替换后字体修改修改前修改后七、结论与心得遇到了很多不知道的方法和类,通过查API和上网搜索解决了问题。
我学到了窗口怎能弹对话框,怎么弹文件选择框,刚开始不怎么会用这些类,后来查查API和翻书就略懂了。
我觉得我写的这个记事本要是能实现查找,改变字体和背景颜色,提供状态栏就好了,可惜时间和技术有限!八、参考资料[1] Java程序设计与实验,刘继承,清华大学出版社,2012[2] [3] Java TM Platform Standard Edition 6 的 API源代码:MainFrame.javaimport java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.filechooser.FileNameExtensionFilter;public class MainFrame {static String content="";JTextArea text;JFileChooser chooser;File file = null;final JFrame jf;MainFrame() {// JOptionPane dialog=new JOPtionPane();jf = new JFrame();JMenuBar bar = new JMenuBar();jf.setSize(600, 400);JMenu mFile = new JMenu(" 文件 ");JMenu mEdit = new JMenu(" 编辑 ");JMenu mForm = new JMenu(" 格式 ");JMenuItem itCreat = new JMenuItem("新建");JMenuItem itOpen = new JMenuItem("打开");JMenuItem itSave = new JMenuItem("保存");JMenuItem itOSave = new JMenuItem("另存为");JMenuItem itExit = new JMenuItem("退出");JMenuItem itCopy = new JMenuItem("复制");JMenuItem itPaste = new JMenuItem("粘贴");JMenuItem itCut = new JMenuItem("剪切");JMenuItem itRepalce = new JMenuItem("替换");JMenuItem itadd = new JMenuItem("日期/时间");final JCheckBoxMenuItem itAutoLine = new JCheckBoxMenuItem("自动换行");JMenuItem itFont = new JMenuItem("字体");mFile.add(itCreat);mFile.add(itOpen);mFile.add(itSave);mFile.add(itOSave);mFile.add(itExit);mEdit.add(itCopy);mEdit.add(itPaste);mEdit.add(itCut);mEdit.add(itRepalce);mEdit.add(itadd);mForm.add(itAutoLine);mForm.add(itFont);bar.add(mFile);bar.add(mEdit);bar.add(mForm);jf.setJMenuBar(bar);jf.setVisible(true);text = new JTextArea(1, 2);jf.add(new JScrollPane(text));// 变量初始化content = new String("");chooser = new JFileChooser(".");FileNameExtensionFilter filter = new FileNameExtensionFilter(null,"txt");chooser.addChoosableFileFilter(filter);// 注册监听器// 给创建注册监听器itCreat.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (!content.equals(text.getText())) {int value = JOptionPane.showConfirmDialog(jf, "是否保存修改的文件","提醒", JOptionPane.YES_NO_OPTION);if (value == JOptionPane.YES_OPTION) {try {saveFile();} catch (IOException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(jf, "保存失败 " + e1);}}}text.setText("");jf.setTitle("新建文本");file = null;}});// 给打开注册事件监听器itOpen.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (!content.equals(text.getText())) {int value = JOptionPane.showConfirmDialog(jf, "是否保存修改的文件","提醒", JOptionPane.YES_NO_OPTION);if (value == JOptionPane.YES_OPTION) {try {saveFile();} catch (IOException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(jf, "保存失败 " + e1);}}}chooser.showOpenDialog(jf);file = chooser.getSelectedFile();if (file == null) {JOptionPane.showMessageDialog(jf, "没有选择文件");return;}try {getTextFromFile();} catch (IOException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(jf, "打开失败 " + e1);}}});// 给保存注册事件监听器itSave.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (file == null) {chooser.showSaveDialog(jf);file = chooser.getSelectedFile();}try {saveFile();} catch (IOException e1) {JOptionPane.showMessageDialog(jf, "保存失败 " + e1);}jf.setTitle(file.getName());}});//另存为注册监听事件itOSave.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {chooser.showDialog(jf, "另存为");file=chooser.getSelectedFile();try {saveFile();} catch (IOException e1) {JOptionPane.showMessageDialog(jf, "保存失败 " + e1);}}});//itExit.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {if (!content.equals(text.getText())) {int value = JOptionPane.showConfirmDialog(jf, "是否保存修改的文件","提醒", JOptionPane.YES_NO_OPTION);if (value == JOptionPane.YES_OPTION) {try {saveFile();} catch (IOException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(jf, "保存失败 " + e1);}}}System.exit(0);}});//为剪切注册监听器itCut.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {text.cut();}});//为复制注册监听器itCopy.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.copy();}});//为粘贴注册监听器itPaste.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {text.paste();}});//为替换注册监听器itRepalce.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {new Repalce(text);}});//为时间/日期注册监听器itadd.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {SimpleDateFormat time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");text.append(time.format(new Date()));}});//为自动换行注册监听器itAutoLine.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {if(itAutoLine.isSelected())text.setLineWrap(true);elsetext.setLineWrap(false);}});//为字体注册监听器itFont.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {new PFont(text);}});//默认退出jf.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {// TODO Auto-generated method stubif (!content.equals(text.getText())) {int value = JOptionPane.showConfirmDialog(jf, "是否保存修改的文件","提醒", JOptionPane.YES_NO_OPTION);if (value == JOptionPane.YES_OPTION) {try {saveFile();} catch (IOException e1) {// TODO Auto-generated catch blockJOptionPane.showMessageDialog(jf, "保存失败 " + e1);}}}System.exit(0);}});}/*** 将file指向的文件写入文本区** @throws IOException*/public void getTextFromFile() throws IOException {content = "";String line = "";BufferedReader reader = new BufferedReader(new FileReader(file));while ((line = reader.readLine()) != null) {content += line + "\r\n";}text.setText(content);reader.close();}/*** 将文本区的内容保存到file指向的文件** @throws IOException*/public void saveFile() throws IOException {if (file == null) {chooser.showSaveDialog(jf);file = chooser.getSelectedFile();}content = text.getText();FileWriter out = new FileWriter(file);out.write(content);out.close();}public static void main(String[] args) {new MainFrame();}}PFont.javaimport java.awt.Dimension;import java.awt.Font;import java.awt.GraphicsEnvironment;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.ListSelectionModel;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;public class PFont {JFrame jf;JPanel pane1, pane2, pane3, pane4;JTextField tfFont, tfSize, tfStyle;JList listStyle, listFont, listSize;PFont(final JTextArea text) {jf = new JFrame("字体设置");pane1 = new JPanel();pane2 = new JPanel();pane3 = new JPanel();pane4 = new JPanel();Font currentFont = text.getFont();JLabel lbFont = new JLabel("字体");JLabel lbStyle = new JLabel("字形");JLabel lbSize = new JLabel("大小");lbFont.setPreferredSize(new Dimension(91, 20));lbStyle.setPreferredSize(new Dimension(82, 20));lbSize.setPreferredSize(new Dimension(100, 20));//默认字体tfFont = new JTextField(13);tfFont.setText(currentFont.getFontName());tfFont.setPreferredSize(new Dimension(200, 20));//默认字形tfStyle = new JTextField(10);if (currentFont.getStyle() == Font.PLAIN)tfStyle.setText("常规");else if (currentFont.getStyle() == Font.BOLD)tfStyle.setText("粗体");else if (currentFont.getStyle() == Font.ITALIC)tfStyle.setText("斜体");else if (currentFont.getStyle() == (Font.BOLD + Font.ITALIC)) tfStyle.setText("粗斜体");tfStyle.setPreferredSize(new Dimension(200, 20));//默认大小tfSize = new JTextField(7);tfSize.setText(currentFont.getSize() + "");tfSize.setPreferredSize(new Dimension(200, 20));//字形final String fontStyle[] = { "常规", "粗体", "斜体", "粗斜体" };listStyle = new JList(fontStyle);listStyle.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);if (currentFont.getStyle() == Font.PLAIN)listStyle.setSelectedIndex(0);else if (currentFont.getStyle() == Font.BOLD)listStyle.setSelectedIndex(1);else if (currentFont.getStyle() == Font.ITALIC)listStyle.setSelectedIndex(2);else if (currentFont.getStyle() == (Font.BOLD + Font.ITALIC)) listStyle.setSelectedIndex(3);listStyle.setVisibleRowCount(7);listStyle.setFixedCellWidth(85);listStyle.setFixedCellHeight(20);listStyle.addListSelectionListener(new ListSelectionListener() {public void valueChanged(ListSelectionEvent event) {tfStyle.setText(fontStyle[listStyle.getSelectedIndex()]);}});//字体GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();final String fontName[] = ge.getAvailableFontFamilyNames();int defaultFontIndex = 0;for (int i = 0; i < fontName.length; i++) {if (fontName[i].equals(currentFont.getFontName())) {defaultFontIndex = i;break;}}listFont = new JList(fontName);listFont.setSelectedIndex(defaultFontIndex);listFont.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);listFont.setVisibleRowCount(7);listFont.setFixedCellWidth(99);listFont.setFixedCellHeight(20);listFont.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent event) {tfFont.setText(fontName[listFont.getSelectedIndex()]);}});//字体大小final String fontSize[] = { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72" };listSize = new JList(fontSize);int defaultFontSizeIndex = 0;for (int i = 0; i < fontSize.length; i++) {if (fontSize[i].equals(currentFont.getSize() + "")) {defaultFontSizeIndex = i;break;}}listSize.setSelectedIndex(defaultFontSizeIndex);listSize.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);listSize.setVisibleRowCount(7);listSize.setFixedCellWidth(50);listSize.setFixedCellHeight(20);listSize.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent event) {tfSize.setText(fontSize[listSize.getSelectedIndex()]);}});//按钮JButton fontOk= new JButton("确定");fontOk.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int fontStyleConst[] = { Font.PLAIN, Font.BOLD, Font.ITALIC, Font.BOLD + Font.ITALIC };Font tempFont = new Font(tfFont.getText(), fontStyleConst[listStyle.getSelectedIndex()],Integer.parseInt(tfSize.getText()));text.setFont(tempFont);//jf.dispose();}});JButton cancel = new JButton("取消");cancel.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jf.dispose();}});//添加pane1.add(lbFont);pane1.add(lbStyle);pane1.add(lbSize);pane2.add(tfFont);pane2.add(tfStyle);pane2.add(tfSize);pane3.add(new JScrollPane(listFont));pane3.add(new JScrollPane(listStyle));pane3.add(new JScrollPane(listSize));pane4.add(fontOk);pane4.add(cancel);jf.setLayout(new GridLayout(4,1));jf.add(pane1);jf.add(pane2);jf.add(pane3);jf.add(pane4);jf.setSize(400, 600);jf.setLocation(200, 200);//jf.setResizable(false);jf.setVisible(true);}public static void main(String[] args) {// TODO Auto-generated method stub}}Repalce.javaimport java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextArea;import javax.swing.JTextField;public class Repalce {boolean boo = false;JTextArea area;JTextField fie;JTextField fie1;Repalce(final JTextArea area) {this.area=area;JFrame jf = new JFrame();jf.setVisible(true);jf.setSize(400, 200);jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);fie = new JTextField(15);fie1 = new JTextField(15);JButton jb = new JButton("全部替换");JLabel jl = new JLabel("查找内容:");JLabel jl1 = new JLabel("替换为:");JRadioButton jr = new JRadioButton("区分大小写");JPanel jp = new JPanel();jp.setLayout(new GridLayout(3, 2));JPanel jp0 = new JPanel();jp0.add(jl);jp.add(jp0);JPanel jp01 = new JPanel();jp01.add(fie);jp.add(jp01);JPanel jp1 = new JPanel();jp1.add(jl1);jp.add(jp1);JPanel jp11 = new JPanel();jp11.add(fie1);jp.add(jp11);JPanel jpr = new JPanel();jpr.add(jr);jp.add(jpr);JPanel jp2 = new JPanel();jp2.add(jb);jp.add(jp2);jf.add(jp);jr.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {boo = (boo == true) ? false : true;System.out.println(boo);}});jb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String str=tihuan();area.setText(str);}});}protected String tihuan() {// TODO Auto-generated method stubString str,sfie1,sfie2;str=area.getText();sfie1=fie.getText().toLowerCase();sfie2=fie1.getText();if(boo==false){String st="";char[] ch=sfie1.toCharArray();for(int i=0;i<ch.length;i++){st+="["+Character.toLowerCase(ch[i])+Character.toUpperCase(ch[i]) +"]";}sfie1=st;}String str1=str.replaceAll(sfie1, sfie2);System.out.println(sfie1+" "+sfie2+"\r\n"+str1);return str1;}}。