12
返回列表 发新帖
楼主: 不杀生的狼

求助

[复制链接]
求职 : 系统架构师
论坛徽章:
184
现任管理团队成员
日期:2011-05-07 01:45:082015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-03-04 14:48:16马上有车
日期:2015-02-03 15:49:36马上加薪
日期:2014-11-14 21:57:36itpub13周年纪念徽章
日期:2014-09-27 21:15:55马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:42问答徽章
日期:2014-04-19 09:26:09马上有房
日期:2014-04-01 21:27:12
11#
发表于 2007-12-6 09:28 | 只看该作者
把程序贴上来

使用道具 举报

回复
求职 : 系统架构师
论坛徽章:
184
现任管理团队成员
日期:2011-05-07 01:45:082015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-03-04 14:48:16马上有车
日期:2015-02-03 15:49:36马上加薪
日期:2014-11-14 21:57:36itpub13周年纪念徽章
日期:2014-09-27 21:15:55马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:42问答徽章
日期:2014-04-19 09:26:09马上有房
日期:2014-04-01 21:27:12
12#
发表于 2007-12-6 09:29 | 只看该作者
目录名不要取中文名称

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2007-09-04 12:51:04ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44开发板块每日发贴之星
日期:2007-12-07 01:05:35生肖徽章2007版:鸡
日期:2008-01-02 17:35:532008新春纪念徽章
日期:2008-02-13 12:43:03
13#
 楼主| 发表于 2007-12-6 10:45 | 只看该作者
package notepad;

import java.awt.Button;
import java.awt.Dialog;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.List;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
* @author root
*
*/
public class NotePad {
        private Frame mainframe;// 主框架

        private MenuBar mb; // 菜单条

        private Menu mFile, mEdit, mFont, mPassword, mHelp;// 菜单:文件,编辑,字体,加密,帮助

        private MenuItem mNew, mOpen, mSave, mNewSave, mClose;// 文件:新建,打开,保存,另存为,退出

        private MenuItem mCopy, mPaste, mCut, mDelete;// 编辑:拷贝,粘贴,剪切,删除

        private MenuItem mFontFont, mFontSize, mFontColor;// 字体:

        private MenuItem mEncrypt, mDisencrypt;// 加密:加密,解密

        private MenuItem mAboutNotePad,mDos,mJava,mLinux; // 帮助:关于记事本,dos命令,java类,linux命令

        private PopupMenu mPopup;// 弹出菜单

        private MenuItem mPopupCopy, mPopupPaste, mPopupCut, mPopupDelete;// 弹出菜单项:拷贝,粘贴,剪切,删除

        private TextArea text;// 文本区

        private boolean textValueChanged = false;

        private String FileName = ""; // 上次保存时的文件名和地址
        private int index_list;

        // 构造函数
        /**
         * 构造函数里完成监听
         */
        public NotePad() {
                mainframe = new Frame("我的记事本                            不杀生的狼");
                // 菜单条
                mb = new MenuBar();
                mFile = new Menu("文件");
                mEdit = new Menu("编辑");
                mFont = new Menu("字体");
                mPassword = new Menu("加密");
                mHelp = new Menu("帮助");
                // 文件
                mNew = new MenuItem("新建");
                mOpen = new MenuItem("打开");
                mSave = new MenuItem("保存");
                mNewSave = new MenuItem("另存为");
                mClose = new MenuItem("退出");
                // 编辑
                mCopy = new MenuItem("拷贝");
                mPaste = new MenuItem("粘贴");
                mCut = new MenuItem("剪切");
                mDelete = new MenuItem("删除");
                // 字体
                mFontFont = new MenuItem("字体");
                mFontSize = new MenuItem("大小");
                mFontColor = new MenuItem("颜色");
                // 加密
                mEncrypt = new MenuItem("加密");
                mDisencrypt = new MenuItem("解密");
                // 帮助
                mAboutNotePad = new MenuItem("关于记事本");
                mDos=new MenuItem("Dos常用命令");
                mLinux=new MenuItem("Linux常用命令");
                mJava=new MenuItem("Java常用类");
                // 文本
                text = new TextArea();
                // 添加文件菜单项
                mFile.add(mNew);
                mFile.add(mOpen);
                mFile.add(mSave);
                mFile.add(mNewSave);
                mFile.add(mClose);
                // 添加编辑菜单项
                mEdit.add(mCopy);
                mEdit.add(mPaste);
                mEdit.add(mCut);
                mEdit.add(mDelete);
                // 添加字体菜单项
                mFont.add(mFontFont);
                mFont.add(mFontSize);
                mFont.add(mFontColor);
                // 添加加密菜单项
                mPassword.add(mEncrypt);
                mPassword.add(mDisencrypt);
                // 添加帮助菜单项
                mHelp.add(mAboutNotePad);
                mHelp.add(mDos);
                mHelp.add(mLinux);
                mHelp.add(mJava);
                // 菜单条添加菜单
                mb.add(mFile);
                mb.add(mEdit);
                mb.add(mFont);
                mb.add(mPassword);
                mb.add(mHelp);
                // 框架添加菜单条
                mainframe.setMenuBar(mb);
                // 框架添加文本区
                mainframe.add(text);

                mainframe.setSize(800, 500);// 设置大小
                mainframe.setLocation(100, 100);// 设置窗体出现起始位置
                mainframe.setResizable(true);// 设置是否可以改变窗体大小,默认为true
                mainframe.setVisible(true);// 设置为可见

                /**
                 *
                 * 添加监听
                 */
                // 关闭窗口
                mainframe.addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent e) {
                                System.exit(0);
                        }
                });
                // 键入某个键时文本改动
                text.addKeyListener(new KeyAdapter() {
                        public void keyTyped(KeyEvent e) {
                                textValueChanged = true;
                        }
                });
                // 新建
                mNew.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                text.replaceRange("", 0, text.getText().length());// 清空文本区

                        }

                });
                // 打开
                mOpen.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                FileDialog d = new FileDialog(mainframe, "", FileDialog.LOAD);
                                d.setVisible(true);
                                FileName = d.getDirectory() + d.getFile();
                                File f = new File(d.getDirectory() + d.getFile());
                                try {
                                        BufferedReader br = new BufferedReader(new FileReader(f));
                                        String a;
                                        StringBuffer buff = new StringBuffer();
                                        while ((a = br.readLine()) != null) {
                                                buff.append(a + "\n");
                                        }
                                        br.close();
                                        text.setText(buff.toString());
                                } catch (Exception e1) {
                                        e1.getMessage();
                                }
                        }

                });
                // 保存
                mSave.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                String a = text.getText();
                                if (FileName.equals("")) { // 为""表示文件没有被保存过
                                        FileDialog d = new FileDialog(mainframe, "",
                                                        FileDialog.SAVE);

                                        d.setVisible(true);
                                        File f = new File(d.getDirectory() + d.getFile());
                                        FileName = d.getDirectory() + d.getFile();

                                        try {
                                                BufferedWriter bw = new BufferedWriter(
                                                                new FileWriter(f));

                                                System.out.println(a);
                                                bw.write(a, 0, a.length());
                                                bw.close();
                                        } catch (IOException e1) {
                                                e1.getMessage();
                                        }
                                } else {
                                        File f = new File(FileName);
                                        try {
                                                BufferedWriter bw = new BufferedWriter(
                                                                new FileWriter(f));
                                                bw.write(a);
                                                bw.close();
                                        } catch (IOException e1) {
                                                // TODO 自动生成 catch 块
                                                e1.printStackTrace();
                                        }
                                }
                        }

                });
                // 另存为
                mNewSave.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                FileDialog d = new FileDialog(mainframe, "", FileDialog.SAVE);
                                d.setVisible(true);
                                File f = new File(d.getDirectory() + d.getFile());
                                String a = text.getText();// 获得文本内容
                                try {
                                        BufferedWriter bw = new BufferedWriter(new FileWriter(f));
                                        bw.write(a);
                                        bw.close();
                                } catch (IOException e1) {
                                        // TODO 自动生成 catch 块
                                        e1.printStackTrace();
                                }
                        }

                });
                // 退出
                mClose.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                System.exit(0);

                        }

                });
                // 字体
                mFontFont.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                final Dialog d = new Dialog(mainframe, "字体设置");
                                d.setVisible(true);// 设置为可见
                                d.setLayout(new GridLayout(2, 1));// 设置为网格布局
                                d.setLocation(250, 250);// 起始位置
                                d.setResizable(false);// 用户不可更改大小
                                Panel p = new Panel();
                                // 第1行
                                List l = new List();// 字体列表
                                p.add(l);
                                l.add("楷书");
                                l.add("隶书");
                                l.add("幼圆");
                                l.add("华文彩云");
                                l.addItemListener(new Item_Font());//添加字体列表监听
                                // 第2行
                                Panel p_1 = new Panel();
                                Button b = new Button("确定");
                                // 添加确定按钮监听
                                b.addActionListener(new ActionListener() {
                                        public void actionPerformed(ActionEvent e) {
                                                d.dispose();
                                        }
                                });
                                p_1.add(b);
                                d.add(p);
                                d.add(p_1);
                                d.pack(); // 调整此窗口的大小,以适合其子组件的首选大小和布局
                                // 关闭对话框
                                d.addWindowListener(new WindowAdapter() {
                                        public void windowClosing(WindowEvent ee) {
                                                d.dispose();
                                        }
                                });
                        }

                });
                // 大小
                mFontSize.addActionListener(new ActionListener() {

                        /* (非 Javadoc)
                         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
                         */
                        public void actionPerformed(ActionEvent e) {
                                final Dialog d = new Dialog(mainframe, "字体大小");
                                d.setLocation(250, 250);// 起始位置
                                d.setLayout(new GridLayout(2, 1));// 网格布局
                                d.setVisible(true);// 设置为可见
                                d.setResizable(false);// 用户不可更改大小
                                Panel p = new Panel();
                                List l = new List();
                                l.add("8");
                                l.add("9");
                                l.add("10");
                                l.add("11");
                                l.add("12");
                                l.add("14");
                                l.add("16");
                                l.add("18");
                                Panel p_1 = new Panel();
                                Button b = new Button("确定");
                                // 字体大小确定监听
                                b.addActionListener(new ActionListener() {

                                        public void actionPerformed(ActionEvent e) {
                                                d.dispose();

                                        }

                                });/*
                                p.add(l);
                                p_1.add(b);// 将组件放入容器
                                d.add(p);
                                d.add(p_1);// 将容器放入对话框
*/                                d.pack();
                                // 关闭对话框
                                d.addWindowListener(new WindowAdapter() {
                                        public void windowClosing(WindowEvent ee) {
                                                d.dispose();
                                        }
                                });
                        }

                });
                // 颜色
                mFontColor.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                                final Dialog d = new Dialog(mainframe, "字体颜色");
                                d.setLocation(250, 250);// 起始位置
                                d.setLayout(new GridLayout(2, 1));// 网格布局
                                d.setVisible(true);// 设置为可见
                                d.setResizable(false);// 用户不可更改大小
                                Panel p = new Panel();
                                Panel p_1 = new Panel();
                                Button b = new Button("确定");
                                // 确定按钮监听
                                b.addActionListener(new ActionListener() {

                                        public void actionPerformed(ActionEvent e) {
                                                d.dispose();

                                        }

                                });
                                List l = new List();
                                l.add("红色");
                                l.add("黄色");
                                l.add("蓝色");
                                l.add("绿色");
                                l.add("紫色");
                                p.add(l);
                                p_1.add(b);
                                d.add(p);
                                d.add(p_1);
                                d.pack();
                                // 关闭对话框
                                d.addWindowListener(new WindowAdapter() {
                                        public void windowClosing(WindowEvent e) {
                                                d.dispose();
                                        }
                                });
                        }

                });
                /*
                 *
                 * 加密菜单
                 * */
                mEncrypt.addActionListener( new ActionListener(){
                           public void actionPerformed(ActionEvent e){
                            String s = text.getText();//得到所输入的文本内容
                            StringBuffer temp = new StringBuffer("");
                            for(int i = 0 ; i<s.length() ; i++){
                             if(s.charAt(i)>=40 && s.charAt(i)<=125){
                              if(i%2==0){
                               temp.append((char)(s.charAt(i) + 1 ));
                              }
                              else
                               temp.append((char)(s.charAt(i) - 1 ));
                             }
                             else
                              temp.append(s.charAt(i));
                             
                            }     
                            s = new String(temp);
                            text.setText(s);
                           }
                          });
                //解密
                mDisencrypt.addActionListener( new ActionListener(){
                           public void actionPerformed(ActionEvent e){
                            String s = text.getText();//得到所输入的文本内容  
                            StringBuffer temp = new StringBuffer("");
                            for(int i = 0 ; i<s.length() ; i++){
                             if(s.charAt(i)>=40 && s.charAt(i)<=125){
                              if(i%2==0){
                               temp.append((char)(s.charAt(i) - 1 ));
                              }
                              else
                               temp.append((char)(s.charAt(i) + 1 ));
                             }
                             else
                              temp.append(s.charAt(i));
                            }   
                            s = new String(temp);
                            text.setText(s);
                           }
                          });
                mDos.addActionListener(new ActionListener(){

                        public void actionPerformed(ActionEvent e) {
                                Dialog d=new Dialog(mainframe,"Dos常用命令");
                                d.setLocation(200,200);
                                d.setVisible(true);
                                TextArea t=new TextArea();
                                t.setText("");
                        }
                        
                });
        }
        private class Item_Font implements ItemListener{

                public void itemStateChanged(ItemEvent e) {
                        index_list=((java.awt.List)e.getSource()).getSelectedIndex();//获得最初发生事件的索引
                        System.out.println(index_list);
                        switch(index_list){
                        case 0:{

                                text.setFont(new Font("Impact", 0,text.getFont().getSize()));
                                System.out.println(text.getFont());
                                break;
                        }
                        case 1:{
                                text.setFont(new Font("Times New Roman", Font.PLAIN ,text.getFont().getSize()) );
                                break;
                        }
                        }
                }
               
        }

        public static void main(String[] args) {
                new NotePad();
        }
}

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2007-09-04 12:51:04ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44开发板块每日发贴之星
日期:2007-12-07 01:05:35生肖徽章2007版:鸡
日期:2008-01-02 17:35:532008新春纪念徽章
日期:2008-02-13 12:43:03
14#
 楼主| 发表于 2007-12-6 10:47 | 只看该作者
改字体不知道怎么改不了,还有一些功能没写完.各位老大帮我看看,到底怎么回事,先谢谢了

使用道具 举报

回复
求职 : 系统架构师
论坛徽章:
184
现任管理团队成员
日期:2011-05-07 01:45:082015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-03-04 14:48:16马上有车
日期:2015-02-03 15:49:36马上加薪
日期:2014-11-14 21:57:36itpub13周年纪念徽章
日期:2014-09-27 21:15:55马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:42问答徽章
日期:2014-04-19 09:26:09马上有房
日期:2014-04-01 21:27:12
15#
发表于 2007-12-6 12:03 | 只看该作者
package notepad
你加package就不能这么运行,在java.notepad.NotePad
把你的classs加进类路径
还是用eclipse吧,对于概念不熟悉的初学者

使用道具 举报

回复
论坛徽章:
4
开发板块每日发贴之星
日期:2007-12-10 01:05:13生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
16#
发表于 2007-12-6 12:53 | 只看该作者
学习 学习  我也是新手!

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2007-09-04 12:51:04ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44开发板块每日发贴之星
日期:2007-12-07 01:05:35生肖徽章2007版:鸡
日期:2008-01-02 17:35:532008新春纪念徽章
日期:2008-02-13 12:43:03
17#
 楼主| 发表于 2007-12-6 14:27 | 只看该作者

回复 #5 carniege 的帖子

具体怎么做能说说吗?没看明白。但是问题是你说的那个问题,我把package去掉就OK了。

使用道具 举报

回复
求职 : 系统架构师
论坛徽章:
184
现任管理团队成员
日期:2011-05-07 01:45:082015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-03-04 14:48:16马上有车
日期:2015-02-03 15:49:36马上加薪
日期:2014-11-14 21:57:36itpub13周年纪念徽章
日期:2014-09-27 21:15:55马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:42问答徽章
日期:2014-04-19 09:26:09马上有房
日期:2014-04-01 21:27:12
18#
发表于 2007-12-6 14:39 | 只看该作者
如果有package,像你的那个一样
例如:
c:\notepad\NotePad.class
则在c:
执行java notepad.NotePad

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2007-09-04 12:51:04ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44开发板块每日发贴之星
日期:2007-12-07 01:05:35生肖徽章2007版:鸡
日期:2008-01-02 17:35:532008新春纪念徽章
日期:2008-02-13 12:43:03
19#
 楼主| 发表于 2007-12-6 18:44 | 只看该作者
谢谢了,搞明白了。

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2007-12-6 19:04 | 只看该作者

你这个应该是路径

不对,你整个程序需要的类,都应该设定到,CLASSPATH,,,不然程序会报找不到类的,错误.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表