java下的记事本
来源:互联网 发布:帝国cms 防采集 编辑:程序博客网 时间:2024/05/31 05:27
package com.notepad.text;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;public class Datepad {public static String getdate(){Date date = new Date();DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE");return df.format(date);}}-----------------------------
package com.notepad.text;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.awt.*;public class fontDialog extends JDialog implements ActionListener,ListSelectionListener{ public static final int Cancle=0; public static final int OK=1; public static final String [] style={"正常","斜体","粗体","粗斜体"}; public static final String [] size={"8","9","10","11","12","14","16", "18","20","22","24","26","28","36","48","72"}; private Font userFont=null; private int userSelect=Cancle; private JFrame parent=null; private Container con; private JScrollPane nameSPane,styleSPane,sizeSPane; private JPanel panel[]; private JLabel nameLbl,styleLbl,sizeLbl; private JTextField nameText,styleText,sizeText; private JList nameList,styleList,sizeList; private JButton OKBtn,cancleBtn; public fontDialog() { this(null); } public fontDialog(JFrame owner){ super(owner,true); parent=owner; setTitle("字体"); con=getContentPane(); BoxLayout box=new BoxLayout(con,BoxLayout.Y_AXIS); con.setLayout(box); panel=new JPanel[4]; for(int i=0;i<3;i++){ panel[i]=new JPanel(); panel[i].setLayout(new GridLayout(1,3)); } panel[3]=new JPanel(); panel[3].setLayout(new FlowLayout()); nameLbl=new JLabel("字体"); styleLbl=new JLabel("字形"); sizeLbl=new JLabel("大小"); panel[0].add(nameLbl); panel[0].add(styleLbl); panel[0].add(sizeLbl); nameText=new JTextField("宋体"); nameText.setColumns(5); nameText.setEditable(false); styleText=new JTextField("正常"); styleText.setColumns(5); styleText.setEditable(false); sizeText=new JTextField("12"); sizeText.setColumns(5); sizeText.setEditable(false); panel[1].add(nameText); panel[1].add(styleText); panel[1].add(sizeText); GraphicsEnvironment eq = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] availableFonts= eq.getAvailableFontFamilyNames(); nameList=new JList(availableFonts); nameList.addListSelectionListener(this); nameSPane=new JScrollPane(nameList); styleList=new JList(style); styleList.addListSelectionListener(this); styleSPane=new JScrollPane(styleList); sizeList=new JList(size); sizeList.addListSelectionListener(this); sizeSPane=new JScrollPane(sizeList); panel[2].add(nameSPane); panel[2].add(styleSPane); panel[2].add(sizeSPane); OKBtn=new JButton("确定"); OKBtn.addActionListener(this); cancleBtn=new JButton("取消"); cancleBtn.addActionListener(this); panel[3].add(OKBtn); panel[3].add(cancleBtn); for(int i=0;i<4;i++) con.add(panel[i]); } public int showFontDialog(){ setSize(300,300); int x,y; if (parent!=null){ x=parent.getX()+30; y=parent.getY()+30; }else{ x=150; y=100; } setLocation(new Point(x,y)); setVisible(true); return userSelect; } public Font getFont(){ return userFont; } public void actionPerformed(ActionEvent e){ int styleIndex=Font.PLAIN,fontSize; if(e.getSource()==OKBtn){ if(styleText.getText().equals("正常")) styleIndex=Font.PLAIN; if(styleText.getText().equals("斜体")) styleIndex=Font.ITALIC; if(styleText.getText().equals("粗体")) styleIndex=Font.BOLD; if(styleText.getText().equals("粗斜体")) styleIndex=Font.BOLD | Font.ITALIC; fontSize=Integer.parseInt(sizeText.getText()); userFont=new Font(nameText.getText(),styleIndex,fontSize); userSelect=OK; setVisible(false); }else{ userSelect=Cancle; setVisible(false); } } public void valueChanged(ListSelectionEvent e){ if (e.getSource()==nameList) nameText.setText((String)nameList.getSelectedValue()); if (e.getSource()==styleList) styleText.setText((String)styleList.getSelectedValue()); if (e.getSource()==sizeList) sizeText.setText((String)sizeList.getSelectedValue()); }}----------------------------------------
package com.notepad.text;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class AboutBorder extends JFrame implements ActionListener{private JFrame frame;public AboutBorder(){frame = new JFrame("About Notepad");JPanel pane = new JPanel();pane.setLayout(new FlowLayout(FlowLayout.RIGHT));JLabel label = new JLabel("About Notepad Verson 1.0 , auhtor----刘涛",JLabel.CENTER);JButton button_OK = new JButton("OK");button_OK.addActionListener(this);pane.add(button_OK);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(label , BorderLayout.CENTER);frame.add(pane , BorderLayout.SOUTH);frame.setBounds(200, 200, 300, 100);frame.setResizable(false);frame.setVisible(true);}public void actionPerformed(ActionEvent e) {frame.setVisible(false);}}----------------------------------------
package com.notepad.text;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.FileNameExtensionFilter;import java.io.*;import java.awt.event.*;public class NotePad extends JFrame{private JFrame mainframe;private JTextArea textarea ;private JScrollPane jsp ;private JMenuBar jmb ;private JMenu File , Edit , Format ,View , Help ;private JMenuItem F_new , F_open , F_save, F_saveas , F_page ,F_print , F_exit ; //File菜单private JMenuItem E_undo , E_cut , E_copy , E_paste , E_delete, E_find , E_findnext , E_replace , E_go , E_seletall ,E_date ;//Edit菜单private JMenuItem FM_word , FM_font ;//Format菜单private JMenuItem V_status ; //View菜单private JMenuItem H_view , H_about ; //Help菜单private JFileChooser chooser ;private String title = null;private String text ;/* * 主构造函数 NotePad() */public NotePad(){buildLayout();}/* * 窗体构建buildLayout() */private void buildLayout(){mainframe = new JFrame(title + " - Notepad");Container con = mainframe.getContentPane();textarea = new JTextArea();textarea.setWrapStyleWord(true);jsp = new JScrollPane(textarea);jmb = new JMenuBar();jmb.setBorderPainted(true);//菜单主项File = new JMenu("File");Edit = new JMenu("Edit");Format = new JMenu("Format");View = new JMenu("View");Help = new JMenu("Help");//File子菜单项 F_new = new JMenuItem("New"); F_new.addActionListener(new CAL()); F_open = new JMenuItem("Open..."); F_open.addActionListener(new CAL()); F_save = new JMenuItem("Save"); F_save.addActionListener(new CAL()); F_saveas = new JMenuItem("Save As..."); F_saveas.addActionListener(new CAL()); F_page = new JMenuItem("Page Setup..."); F_print = new JMenuItem("Print..."); F_exit = new JMenuItem("Exit"); F_exit.addActionListener(new CAL());//Edit子菜单项 E_undo = new JMenuItem("Undo"); E_cut = new JMenuItem("Cut"); E_cut.addActionListener(new CAL()); E_copy = new JMenuItem("Copy"); E_copy.addActionListener(new CAL()); E_paste = new JMenuItem("Paste"); E_paste.addActionListener(new CAL()); E_delete = new JMenuItem("Delete"); E_delete.addActionListener(new CAL()); E_find = new JMenuItem("Find..."); E_findnext = new JMenuItem("Find Next..."); E_replace = new JMenuItem("Replace..."); E_go = new JMenuItem("Go To..."); E_seletall = new JMenuItem("Selet All"); E_seletall.addActionListener(new CAL()); E_date = new JMenuItem("Time/Date"); E_date.addActionListener(new CAL());//Format子菜单项 FM_word = new JMenuItem("Word Wrap"); FM_font = new JMenuItem("Font..."); FM_font.addActionListener(new CAL());//View子菜单项 V_status = new JMenuItem("Status Bar"); V_status.setEnabled(false);//Help子菜单项 H_view = new JMenuItem(" View Help "); H_about = new JMenuItem("About NotePad"); H_about.addActionListener(new CAL());jmb.add(File);jmb.add(Edit);jmb.add(Format);jmb.add(View);jmb.add(Help);File.add(F_new);File.add(F_open);File.add(F_save);File.add(F_saveas);File.insertSeparator(3); File.add(F_page);File.add(F_print);File.insertSeparator(12);File.add(F_exit);Edit.add(E_undo);Edit.insertSeparator(3);Edit.add(E_cut);Edit.add(E_copy);Edit.add(E_paste);Edit.add(E_delete);Edit.insertSeparator(12);Edit.add(E_find);Edit.add(E_findnext);Edit.add(E_replace);Edit.add(E_go);Edit.insertSeparator(20);Edit.add(E_seletall);Edit.add(E_date);Format.add(FM_word);Format.add(FM_font);View.add(V_status); Help.add(H_view);Help.insertSeparator(6);Help.add(H_about);con.add(jsp , BorderLayout.CENTER);ImageIcon ii = new ImageIcon("Notepad.gif");mainframe.setIconImage(ii.getImage());textarea.setSelectedTextColor(Color.red);Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); //获取显示器大小mainframe.setJMenuBar(jmb);mainframe.setSize(d);mainframe.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){if(text.equals(textarea.getText())){JFileChooser chooser = new JFileChooser("D:\\"); FileNameExtensionFilter filter = new FileNameExtensionFilter("*.txt", "java", "txt"); chooser.setFileFilter(filter); chooser.showSaveDialog(mainframe); try {WriteText(chooser.getSelectedFile().getAbsoluteFile());} catch (IOException e1) {JOptionPane.showMessageDialog(mainframe, "请输入文件名!!!" , "Error" , JOptionPane.ERROR_MESSAGE);}}else{System.exit(0);}}});mainframe.setVisible(true);} public static void main(String[] args) { new NotePad(); } /* * 文本读取 */ private void ReadText(File fileName) throws IOException{ FileInputStream fis = new FileInputStream(fileName); BufferedInputStream bis = new BufferedInputStream(fis);byte[] buf = new byte[(int)fileName.length()];while((bis.read(buf))!=-1){text = new String(buf);textarea.setText(text);}bis.close();fis.close(); } /* * 文本存储 */ private void WriteText(File absoluteFile) throws IOException { FileOutputStream fos = new FileOutputStream(absoluteFile); PrintWriter pw = new PrintWriter(fos);String str = textarea.getText(); pw.write(str);pw.close(); } /* * 为菜单添加监听器 */ class CAL implements ActionListener{public void actionPerformed(ActionEvent e) {if(e.getSource()==F_new){mainframe.setTitle(title+ " - Notepad");textarea.setText("");}if(e.getSource()==E_date){int end = 0 ;int start = 0 ;start = textarea.getSelectionStart();end = textarea.getSelectionEnd();String end_s = textarea.getText().substring(0, start);String end_e = textarea.getText().substring(end, textarea.getText().length());textarea.setText(end_s+Datepad.getdate()+end_e);textarea.setCaretPosition(start);}if(e.getSource()==E_seletall){textarea.selectAll();}if(e.getSource()==E_delete){int end = 0 ;int start = 0 ;start = textarea.getSelectionStart();end = textarea.getSelectionEnd();String end_s = textarea.getText().substring(0, start);String end_e = textarea.getText().substring(end, textarea.getText().length());textarea.setText(end_s+end_e);textarea.setCaretPosition(start);}if(e.getSource()==E_copy){textarea.copy();}if(e.getSource()==E_paste){textarea.paste();}if(e.getSource()==E_cut){textarea.cut();}if(e.getSource()==H_about){new AboutBorder();}if(e.getSource()==FM_font){fontDialog fd = new fontDialog(mainframe);fd.showFontDialog();Font font = fd.getFont();textarea.setFont(font);}if(e.getSource()==F_save){try {WriteText(chooser.getSelectedFile().getAbsoluteFile());} catch (IOException e1) {}}if(e.getSource()==F_exit){System.exit(0);}if(e.getSource()==F_open){ chooser = new JFileChooser("D:\\"); FileNameExtensionFilter filter = new FileNameExtensionFilter("*.txt", "java", "txt"); chooser.setFileFilter(filter); chooser.showOpenDialog(mainframe); try {mainframe.setTitle(chooser.getSelectedFile().getName()+"--Notepad");ReadText(chooser.getSelectedFile().getAbsoluteFile());} catch (IOException e1) {JOptionPane.showMessageDialog(mainframe, "文件不存在或不允许访问!!!" , "Error" , JOptionPane.ERROR_MESSAGE);}}if(e.getSource()==F_saveas){JFileChooser chooser = new JFileChooser("D:\\"); FileNameExtensionFilter filter = new FileNameExtensionFilter("*.txt", "java", "txt"); chooser.setFileFilter(filter); chooser.showSaveDialog(mainframe); try {WriteText(chooser.getSelectedFile().getAbsoluteFile());} catch (IOException e1) {JOptionPane.showMessageDialog(mainframe, "请输入文件名!!!" , "Error" , JOptionPane.ERROR_MESSAGE);}}} }}----------------------------------------
- java下的记事本
- java写的记事本
- Java 编写的记事本
- 简单的Java记事本
- java写的记事本
- java简单的记事本
- java-我的记事本
- 自己写的JAVA记事本
- java书写的记事本程序
- java实现我的记事本
- java写的记事本程序
- 最初的java--记事本HELLOWORD
- 不同操作系统下记事本的换行符号
- 日志 - window下记事本的换行符
- Ubuntu 下的记事本工具Geany
- 网络找到的记事本妙用Mark下
- java记事本
- java记事本
- namenode上块管理--BlockMap
- asp web 缓存
- 各大OA工作流使用技术对比
- httperf网站压力测试工具学习
- sgu404
- java下的记事本
- JFreeChart开发Web图形报表(柱状图)
- 电子书下载:The Definitive Guide to MongoDB
- 【PHP】while进阶之遇到某数字跳过
- FlashFXP安装指南
- 清华校长送给毕业生的五句话
- JSONObject JSONArray
- 在CGD中快速实现多线程的并发控制
- 电子书下载:Refactoring SQL Applications