VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 940|回复: 8

关于记事本!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11

[复制链接]

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-18 19:00:01 | 显示全部楼层 |阅读模式
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

//简单的文本编辑器implements ActionListener
public class edit extends JFrame implements ActionListener{
        JTextPane textPane = new JTextPane(); //文本窗格,编辑窗口
       
        JFileChooser filechooser = new JFileChooser(); //文件选择器

        public edit() { //构造函数
                super("简单的文本编辑器");
        JMenuBar menubar = new JMenuBar();
                Container container = getContentPane(); //得到容器
               
                container.add(textPane, BorderLayout.CENTER); //增加文本窗格
                container.add(menubar, BorderLayout.NORTH); //增加状态栏

                setSize(330, 200); //设置窗口尺寸
                setVisible(true);  //设置窗口可视
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口时退出程序

                  JMenu menuFile = new JMenu("文件"); //实例化菜单
                JMenu menuEdit = new JMenu("编辑");
                JMenu menuAbout = new JMenu("帮助");
                JMenuItem menu1 =new JMenuItem ("新建");
                menu1.addActionListener(this);
                menuFile.add(menu1) ;
       
                menubar.add(menuFile); //增加菜单
            menubar.add(menuEdit);
            menubar.add(menuAbout);
       
       
        }
       
       
       
       
       
       
       
       
        public void actionPerformed(ActionEvent e)
{     if (e.getSource()==menu1)
       
{
                        textPane.cut();  //调用文本窗格的剪切命令
                }

}

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



cannot resolve symbol varible menu1????????????????????????????????
回复

使用道具 举报

0

主题

21

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-1-25 12:27:01 | 显示全部楼层
JMenuItem menu1 =new JMenuItem ("新建");

放在

public edit() { //构造函数

之前

作为成员变量
回复

使用道具 举报

0

主题

13

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-1-25 22:27:01 | 显示全部楼层
ls正解,写在这儿其余成员函数就无法调用了
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-1-28 22:09:01 | 显示全部楼层
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

//简单的文本编辑器implements ActionListener
public class edit extends JFrame implements ActionListener{
        JTextPane textPane = new JTextPane(); //文本窗格,编辑窗口
        JFileChooser filechooser = new JFileChooser(); //文件选择器
        JMenuBar menubar = new JMenuBar();
        JMenu menuFile = new JMenu("文件"); //实例化菜单
        JMenu menuEdit = new JMenu("编辑");
        JMenu menuAbout = new JMenu("帮助");
        JMenuItem menu1 =new JMenuItem ("新建");
        JMenuItem menu2 =new JMenuItem ("打开");
        JMenuItem menu3 =new JMenuItem ("关闭");
    JMenuItem menu4 =new JMenuItem ("复制");
    JMenuItem menu5 =new JMenuItem ("剪切");
    JMenuItem menu6 =new JMenuItem ("粘贴");
    JMenuItem menu7 =new JMenuItem ("帮助");
        
      
   
        public edit() { //构造函数
            super("简单的文本编辑器");
            
                  Container container = getContentPane(); //得到容器
               
                menu1.addActionListener(this);
                menuFile.add(menu1) ;
               
               
                menu2.addActionListener(this);
                menuFile.add(menu2) ;
               
               
                menu3.addActionListener(this);
                menuFile.add(menu3) ;
               
               
                menu4.addActionListener(this);
            menuEdit.add(menu4) ;
               
               
                menu5.addActionListener(this);
            menuEdit.add(menu5) ;
               
               
                menu6.addActionListener(this);
            menuEdit.add(menu6) ;
            
            menu7.addActionListener(this);
            menuAbout.add(menu7) ;
            
                menubar.add(menuFile);
            menubar.add(menuEdit);
            menubar.add(menuAbout);
          
            container.add(textPane, BorderLayout.CENTER); //增加文本窗格
                container.add(menubar, BorderLayout.NORTH); //增加状态栏
                setSize(330, 200); //设置窗口尺寸
                setVisible(true);  //设置窗口可视
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口时退出程序
         
               
               
            
            
       
        }
       
       
       
       
       
       
       
       
        public void actionPerformed(ActionEvent e){
      
       if (e.getSource()==menu1){
       
        textPane.setDocument(new DefaultStyledDocument());        } //清空文档
         
           if (e.getSource()==menu2){
                        int i = filechooser.showOpenDialog(edit.this); //显示打开文件对话框
          
          
           if (i == JFileChooser.APPROVE_OPTION) { //点击对话框中打开选项
                                File f = filechooser.getSelectedFile(); //得到选择的文件
                                try {
                                        InputStream is = new FileInputStream(f); //得到文件输入流
                                        textPane.read(is, "d"); //读入文件到文本窗格
                                } catch (Exception ex) {
                                        ex.printStackTrace();  //输出出错信息
                                }
                        }
                        }
                       
                               
       if (e.getSource()==menu3){
       
        System.exit(0);         }          //退出程序
     
     
       if (e.getSource()==menu4){
            textPane.copy();          }     //调用文本窗格的拷贝命令
       
           if (e.getSource()==menu5){
        textPane.cut();          }     //调用文本窗格的剪切命令
        
        if (e.getSource()==menu5){
       textPane.paste();          }    //调用文本窗格的粘贴命令
        
       if (e.getSource()==menu7){
               JOptionPane.showMessageDialog(edit.this, "简单的文本编辑器演示");}  //显示软件信息
     
}


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


刚才问题解决了  谢谢!!!!!!!!!!!!!!!!
不过复制粘贴还是不可以啊?  每次选种文字后再去选菜单上的复制粘贴命令的时候被选中的文字立即变成没选中了,  这是怎么回事情啊?????
回复

使用道具 举报

1

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-1-29 22:18:01 | 显示全部楼层
if (e.getSource()==menu5){
       textPane.paste();          }    //调用文本窗格的粘贴命令

改为:
  if (e.getSource()==menu6){
       textPane.paste();          }    //调用文本窗格的粘贴命令
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-1-30 03:36:02 | 显示全部楼层
晕了   谢谢!!!!!111
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-4 12:30:01 | 显示全部楼层
我刚刚做好了一个,实现了新建,打开,保存,另存为,退出功能,有机会交流一下!
回复

使用道具 举报

2

主题

11

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-2-12 19:45:01 | 显示全部楼层
h12345b,我也写了个比较简陋的,你的能贴出来看看吗
回复

使用道具 举报

2

主题

11

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-5-6 11:00:01 | 显示全部楼层
container.add(menubar, BorderLayout.NORTH); //增加状态栏
这个不对吧,你是在增加菜单栏啊,不是状态栏,然而菜单栏是独立在容器之外的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表