确实过分了哦!
骑白马的未必是王子,也可能是唐僧;有翅膀的未必是天使,也可能是鸟人。
package MyContainer;//包名
import java.awt.*;//引入类库
import javax.swing.*;//同上
import java.awt.event.*;//同上
import javax.swing.border.*;//同上
import java.io.*;//引入类库
public class editor extends JFrame{//继承类JFrame
JMenuBar menubar;//菜单栏
JMenu filemenu;//声名变量
JMenu editmenu;//声名变量
JMenuItem jload;//文件
JMenuItem jsave;//声名变量
JMenuItem jexit;//同上
JMenuItem jcut;//编辑
JMenuItem jcopy;
JMenuItem jpast;
JMenuItem jnull;
JPanel toppanel;//面版
JPanel editorpanel;
JScrollPane scorller;
JTextArea jedit;
editor(){ //构造函数
toppanel=new JPanel();//把JPpanel类的实例复给变量
toppanel.setLayout(new BorderLayout());//设置布局
editorpanel=new JPanel();//把JPanel类的实例复给变量
editorpanel.setLayout(new BorderLayout());//设置布局
editorpanel.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
scorller=new JScrollPane();
jedit=new JTextArea();
jedit.setColumns(40);//设置文本区域的列数
this.setTitle("鹏鹏文本编辑器");//设置标题
this.getContentPane().add(toppanel,BorderLayout.CENTER);//得到当前类容器的对像
this.addWindowListener(new java.awt.event.WindowAdapter(){添加事件监听和一个匿名类
public void windowClosing(WindowEvent e){System.exit(0);} });//响应窗口时间
toppanel.add(editorpanel,BorderLayout.CENTER);
editorpanel.add(scorller,BorderLayout.CENTER);
scorller.getViewport().add(jedit);
filemenu=new JMenu("文件");//添加菜单栏
editmenu=new JMenu("编辑");//添加编辑菜单
menubar=new JMenuBar();
setJMenuBar(menubar);
menubar.add(filemenu);
menubar.add(editmenu);
jload=new JMenuItem("打开");//文件
jsave=new JMenuItem("保存");
jexit=new JMenuItem("退出");
jcut=new JMenuItem("剪切");//编辑
jcopy=new JMenuItem("复制");
jpast=new JMenuItem("粘贴");
jnull=new JMenuItem("清空");
filemenu.add(jload);//文件项目增加
filemenu.add(jsave);
filemenu.add(jexit);
editmenu.add(jcut);//编辑项目增加
editmenu.add(jcopy);
editmenu.add(jpast);
editmenu.add(jnull);
pack();
setSize(400,300);
setVisible(true);
action();
}
void action(){
jload.addActionListener(new ActionListener(){//给jload注册监听器,当单击时执行loadFile();
public void actionPerformed(ActionEvent e){
loadFile();
}
});
jsave.addActionListener(new ActionListener(){//给jsave注册监听器,当单击时执行saveFile();
public void actionPerformed(ActionEvent e){
saveFile();
}
});
jexit.addActionListener(new ActionListener(){//给jexit注册监听器,当单击时退出
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
jcut.addActionListener(new ActionListener(){//给jcut注册监听器,当单击时执行cut();
public void actionPerformed(ActionEvent e){
cut();
}
});
jcopy.addActionListener(new ActionListener(){//给jcopy注册监听器,当单击时执行copy();
public void actionPerformed(ActionEvent e){
copy();
}
});
jpast.addActionListener(new ActionListener(){//给jpast注册监听器,当单击时执行past();
public void actionPerformed(ActionEvent e){
past();
}
});
jnull.addActionListener(new ActionListener(){//给jnull注册监听器,清除jedit的内容
public void actionPerformed(ActionEvent e){
jedit.setText("");
}
});
}
private void loadFile(){//打开文件的方法
JFileChooser fc=new JFileChooser();
int returnval=fc.showOpenDialog(this);
if(returnval==JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
try{
jedit.read(new FileReader(file),null);
}catch(IOException e){}
}
}
private void saveFile(){//保存文件的方法
JFileChooser fc=new JFileChooser();
int returnval=fc.showSaveDialog(this);
if(returnval==JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
try{
jedit.write(new FileWriter(file));
}catch(IOException ep){}
}
}
private void copy(){
jedit.copy();
jedit.requestFocus();
}
private void past(){
jedit.paste();
jedit.requestFocus();
}
private void cut(){
jedit.cut();//剪切
jedit.requestFocus();//获得焦点
}
public static void main(String[] args){
new editor();//创建类的对象
}
}