记事本的制作
来源:互联网 发布:a star算法的流程图 编辑:程序博客网 时间:2024/06/06 05:44
<p>1 做一个记事本,首先我们要想好它的布局。</p><p>2.选择一些可能用到的图片。</p><p>3.下面看一个完整的记事本代码。</p><div></div>
package big;import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JDialog;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.JTextPane;import javax.swing.JToolBar;//import com.sun.prism.paint.Color;class TextEditorFrame extends JFrame {File file = null;Color color = Color.RED;// 这是用来做文本框的JTextPane text = new JTextPane();// 文件选择框JFileChooser filechooser = new JFileChooser();JColorChooser coloechooser = new JColorChooser();// 关于对话框JDialog about = new JDialog(this);// 菜单JMenuBar menubar = new JMenuBar();JMenu[] menus = new JMenu[] { new JMenu("文件"), new JMenu("编辑"),new JMenu("帮助") };JMenuItem menuitems[][] = new JMenuItem[][] {{ new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"),new JMenuItem("退出") },{ new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"),new JMenuItem("颜色") }, { new JMenuItem("关于") }};TextEditorFrame(String title) {initTextPane();initAboutDialog();initToolBar();initMenu();this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {int n = JOptionPane.showConfirmDialog(null, "确认关闭吗?", "确认关闭框",JOptionPane.YES_NO_OPTION);if (n == JOptionPane.YES_OPTION) {System.out.println(n);System.exit(0);} else if (n == JOptionPane.NO_OPTION) {return;}}});}void initTextPane() {getContentPane().add(new JScrollPane(text));}void initMenu() {for (int i = 0; i < menus.length; i++) {menubar.add(menus[i]);for (int j = 0; j < menuitems[i].length; j++) {menus[i].add(menuitems[i][j]);menuitems[i][j].addActionListener(action);}}this.setJMenuBar(menubar);}ActionListener action = new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubJMenuItem mi = (JMenuItem) arg0.getSource();String id = mi.getText();if(id.equals("新建")){text.setText("");file=null;}else if (id.equals("打开")) {if (file != null)filechooser.setSelectedFile(file);int returnVal = filechooser.showOpenDialog(TextEditorFrame.this);if (returnVal == JFileChooser.APPROVE_OPTION) {file = filechooser.getSelectedFile();openFile();}} else if (id.equals("保存")) {if (file != null)filechooser.setSelectedFile(file);int returnVal = filechooser.showSaveDialog(TextEditorFrame.this);if (returnVal == JFileChooser.APPROVE_OPTION) {file = filechooser.getSelectedFile();saveFile();}} else if (id.equals("退出")) {int n = JOptionPane.showConfirmDialog(null, "确认关闭吗?", "确认关闭框",JOptionPane.YES_NO_OPTION);if (n == JOptionPane.YES_OPTION) {System.exit(0);} else if (n == JOptionPane.NO_OPTION) {return;}} else if (id.equals("剪切")) {text.cut();} else if (id.equals("复制")) {text.copy();} else if (id.equals("粘贴")) {text.paste();} else if (id.equals("color")) {color = JColorChooser.showDialog(TextEditorFrame.this, "",color);text.setForeground(color);} else if (id.equals("关于")) {about.setSize(200, 150);}}};void saveFile() {try {FileWriter fw = new FileWriter(file);fw.write(text.getText());fw.close();} catch (Exception e) {e.printStackTrace();}}void openFile() {try {FileReader fr = new FileReader(file);int len = (int) file.length();char[] buffer = new char[len];fr.read(buffer, 0, len);fr.close();text.setText(new String(buffer));} catch (Exception e) {e.printStackTrace();}}void initAboutDialog() {about.getContentPane().add(new JLabel("传到Java,你进步了吗?"));about.setModal(true);about.setSize(200, 100);}// 我来加上工具条JToolBar toolbar = new JToolBar();JButton[] buttons = new JButton[] {new JButton("", new ImageIcon("qin.jpg")),new JButton("", new ImageIcon("shu.jpg")),new JButton("", new ImageIcon("xin.jpg")) };void initToolBar() {for (int i = 0; i < buttons.length; i++)toolbar.add(buttons[i]);buttons[0].setToolTipText("复制");buttons[0].addActionListener(new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubtext.copy();}});buttons[1].setToolTipText("剪切");buttons[1].addActionListener(new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubtext.cut();}});buttons[2].setToolTipText("粘贴");buttons[2].addActionListener(new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubtext.paste();}});this.getContentPane().add(toolbar, BorderLayout.NORTH);}}public class F {public static void main(String[] args) {TextEditorFrame f = new TextEditorFrame("NoteBook");f.setTitle("hzy记事本");f.setSize(800, 600);f.setVisible(true);}}
0 0
- 记事本的制作
- GUI类制作的记事本小程序
- 自己制作Windows记事本的回想
- tkinter制作记事本
- c#制作的记事本的打开、新建、保存、另存功能
- 使用记事本+wfc.exe制作工作流
- 用C++ Builder3 制作NotePad(记事本)
- 使用Qt制作记事本软件程序
- 用Java swing制作简单记事本
- 一个简单的记事本
- 我的记事本
- 我的记事本
- 一个记事本的源程序
- java写的记事本
- 我的记事本
- 记事本的另存为测试
- 空空的专用记事本
- 简单的记事本
- 关于Java EE项目GET,POST中文编码问题
- 大型网站技术架构(笔记)
- 关于XCode7objc语法增强
- logdump
- Python 2.7 GUI 编程集成开发环境的搭建 Python 2.7 + PyQt 4 + Eric 6 环境搭建
- 记事本的制作
- iOS之谓词详解
- AYITACM2016省赛第二周(dp+其他)B-做作业(贪心)
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- 我常去逛的iOS干货文章、blog等
- angularjs 跨域访问问题
- Ext基础操作dom更改css
- CentOS6 安装Python2.7后,yum出现“No module named yum”错误
- ArrayList的初始化赋值