|
楼主 |
发表于 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();}
}
刚才问题解决了 谢谢!!!!!!!!!!!!!!!!
不过复制粘贴还是不可以啊? 每次选种文字后再去选菜单上的复制粘贴命令的时候被选中的文字立即变成没选中了, 这是怎么回事情啊????? |
|