📄 editor.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.border.*;
public class editor extends JFrame
{
private MatteBorder border ;
private JTextArea jta ;
private JMenuBar jmb = new JMenuBar();
private JMenu jmfile = new JMenu("文件");
private JMenu jmeditor = new JMenu("编辑");
private JMenu jmgs = new JMenu ("格式");
private JPanel p = new JPanel();
JScrollPane jsp ;
JMenuItem open;//文件菜单组件
JMenuItem save;
JMenuItem quit;
JMenuItem newfile ;
JMenuItem jmeditor_x;//编辑菜单组件
JMenuItem jmeditor_c;
JMenuItem jmeditor_v;
JMenuItem jmgs_hh;//格式组件
JMenuItem jmgs_zt;
JMenuItem jmgs_c;
public editor ()
{
p.setLayout(new BorderLayout());
jsp = new JScrollPane(jta = new JTextArea(),
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
p.add(jsp,BorderLayout.CENTER);
p.setBorder(border = new MatteBorder (new ImageIcon("images/12.gif")));
jmfile.add(newfile =new JMenuItem("新建"));
jmfile.add(open=new JMenuItem ("打开"));
jmfile.add(save=new JMenuItem ("保存"));
jmfile.add(quit=new JMenuItem ("退出"));//增加文件菜单组件
jmeditor.add(jmeditor_c = new JMenuItem ("复制"));
jmeditor.add(jmeditor_x = new JMenuItem ("剪切"));
jmeditor.add(jmeditor_v = new JMenuItem ("粘贴"));//增加编辑菜单组件
jmgs.add(jmgs_hh = new JMenuItem ("自动换行"));//增加格式菜单组件
jmgs.add(jmgs_c = new JMenuItem("字体颜色"));
jmgs.add(jmgs_zt = new JMenuItem("字体....."));
jmb.add(jmfile);
jmb.add(jmeditor);
jmb.add(jmgs);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(jmb,BorderLayout.NORTH);
getContentPane().add(jsp,BorderLayout.CENTER);
addaction();
}
public static void main(String [] args)
{
editor frame = new editor();
frame.setTitle("自制文本编辑器V01");
frame.setSize(400,300);
frame.setLocation(200,200);
frame.setVisible(true);
}
//事件
void addaction ()
{
open.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
openfile();
}
});
newfile.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("没有想到怎么实现有主义的帮我实现实现^_^");
}
});
save.addActionListener(new ActionListener(){public void
actionPerformed(ActionEvent e){
savefile();
}
});
quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
jmeditor_c.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
copy();
}
});
jmeditor_x.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cut();
}
});
jmeditor_v.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
plaster();
}
});
jmgs_hh.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
changeline();
}
});
jmgs_c.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
changecolor();
}
});
jmgs_zt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("正在 制作中");
}
});
}
//以下是各个方法的实现
private void openfile ()
{//打开文件的方法
JFileChooser fc=new JFileChooser();
int returnval=fc.showOpenDialog(this);//显示文件对话框
if(returnval==JFileChooser.APPROVE_OPTION)//APPROVE_OPTION=点确定
// CANCEL_OPTION=撤消
{
File file=fc.getSelectedFile();//从对话框中返回选定文件
try{
jta.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
{
jta.write(new FileWriter(file));
}catch(IOException e){}
}
}
private void copy ()//复制方法
{
jta.copy();
jta.requestFocus();
}
private void cut ()//剪却方法
{
jta.cut();
jta.requestFocus();
}
private void plaster ()//粘贴方法
{
jta.paste();
jta.requestFocus();
}
private void changeline()//自动换行方法
{
int values = 0;
if(values==0)
{
values=1;
jta.setLineWrap(true);
}
else
{
values=0;
jta.setLineWrap(false);
}
}
private void changecolor()
{
Color color = Color.black ;
JColorChooser jcp = new JColorChooser();
color = jcp.showDialog(this , "选择颜色",color);
if(color==null)
{
color= Color.black;
jta.setForeground(color);
}
else
jta.setForeground(color);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -