java文本编辑器java jfilechooser 文本编辑器

java文本编辑器  时间:2021-09-15  阅读:()

麻烦高手推荐几款比较适合初学者编写JAVA程序的文本编辑器?

notepad++ //一个支持多种语言的文本编辑器,带有代码提示、语法高亮功能! editplus //支持Java语言。

有语法高亮功能。

没有代码提示! ultraedit //同editplus

用JAVA设计一个简单文本编辑器

import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import java.util.*; //Date needed import java.io.PrintWriter; public class NotePad extends JFrame { JTextArea jta; class newl implements ActionListener { public void actionPerformed(ActionEvent e) { jta.setText(""); } } class openl implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser jf=new JFileChooser(); jf.showOpenDialog(NotePad.this); } } //保存文件的监听 class savel implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser jf = new JFileChooser(); jf.showSaveDialog(NotePad.this); } } //打印的监听 ? class printl implements ActionListener { public void actionPerformed(ActionEvent e) { // PrintWriter p = new PrintWriter(NotePad.this); } } //退出记事本的监听 class exitl implements ActionListener { public void actionPerformed(ActionEvent e) { System.exit(0);//退出 } } //拷贝的监听 class copyl implements ActionListener { public void actionPerformed(ActionEvent e) { jta.copy(); } } //粘贴的监听 class pastel implements ActionListener { public void actionPerformed(ActionEvent e) { jta.paste(); } } //剪切的监听 class cutl implements ActionListener { public void actionPerformed(ActionEvent e) { jta.cut(); } } //查找的监听 //添加日期的监听 class datel implements ActionListener { public void actionPerformed(ActionEvent e) { Date d=new Date(); jta.append(d.toString()); } } //构造函数 public NotePad() { jta=new JTextArea("",24,40); JScrollPane jsp=new JScrollPane(jta); JMenuBar jmb=new JMenuBar(); JMenu mFile=new JMenu("File"); JMenu mEdit=new JMenu("Edit"); JMenuItem mNew=new JMenuItem("New",KeyEvent.VK_N); mNew.addActionListener(new newl()); mFile.add(mNew); JMenuItem mOpen=new JMenuItem("Open",KeyEvent.VK_O); mOpen.addActionListener(new openl()); mFile.add(mOpen); JMenuItem mSave=new JMenuItem("Save"); mSave.addActionListener(new savel()); mFile.add(mSave); mFile.addSeparator(); //添加分割线 JMenuItem mPrint = new JMenuItem("Print"); mPrint.addActionListener(new printl()); mFile.add(mPrint); mFile.addSeparator(); //添加分割线 JMenuItem mExit=new JMenuItem("Exit"); mExit.addActionListener(new exitl()); mFile.add(mExit); mFile.setMnemonic(KeyEvent.VK_F); //编辑菜单的子菜单的处理 JMenuItem jmi; jmi=new JMenuItem("Copy"); jmi.addActionListener(new copyl()); mEdit.add(jmi); jmi=new JMenuItem("Cut"); jmi.addActionListener(new cutl()); mEdit.add(jmi); jmi=new JMenuItem("Paste"); jmi.addActionListener(new pastel()); mEdit.add(jmi); mEdit.addSeparator(); //添加分割线 jmi=new JMenuItem("Find"); mEdit.add(jmi); jmi=new JMenuItem("FindNext"); mEdit.add(jmi); mEdit.addSeparator(); jmi=new JMenuItem("Select All"); mEdit.add(jmi); jmi=new JMenuItem("Date/Time"); jmi.addActionListener(new datel()); mEdit.add(jmi); jmb.add(mFile); jmb.add(mEdit); this.setJMenuBar(jmb); this.getContentPane().add(jsp); this.setSize(200,200); this.setVisible(true); } //主函数,程序入口点 public static void main(String s[]) { new NotePad(); } }

求java做一个文本编辑器,要求如下,缺一不可,如果可以追加悬赏100分!!

public class MyEditor { public static void main(String[] args) { new EditorFrame(); } } import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.Reader; import java.util.StringTokenizer; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class EditorFrame extends JFrame implements ActionListener{ private JMenuBar bar = null; private JMenu f = null; private JMenuItem newf = null; private JMenuItem openf = null; private JMenuItem savef = null; private JMenuItem saveAs = null; private JMenuItem exit = null; private JMenu tool = null; private JMenuItem edit = null; private JMenuItem run = null; private JMenu help = null; private JMenuItem about = null; private JTextArea txt = null; private File file = null; public EditorFrame(){ f = new JMenu("File"); newf = new JMenuItem("New"); newf.addActionListener(this); f.add(newf); openf = new JMenuItem("Open"); openf.addActionListener(this); f.add(openf); savef = new JMenuItem("Save"); savef.addActionListener(this); f.add(savef); saveAs = new JMenuItem("Save As"); saveAs.addActionListener(this); f.add(saveAs); exit = new JMenuItem("Exit"); exit.addActionListener(this); f.add(exit); tool = new JMenu("Tool"); edit = new JMenuItem("Edit"); edit.addActionListener(this); tool.add(edit); run = new JMenuItem("Run"); run.addActionListener(this); tool.add(run); help = new JMenu("Help"); about = new JMenuItem("About Java Text Editor"); about.addActionListener(this); help.add(about); bar = new JMenuBar(); bar.add(f); bar.add(tool); bar.add(help); txt = new JTextArea(); txt.setEditable(false); txt.setPreferredSize(new Dimension(780,600)); this.setTitle("Java Text Editor"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setSize(800,700); Dimension displaySize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((displaySize.width - this.getWidth()) / 2, (displaySize.height - this.getHeight()) / 2); this.setJMenuBar(bar); this.add(new JScrollPane(txt)); } private void savefile(File fn){ String content = this.txt.getText(); try { PrintWriter writer = new PrintWriter(new FileWriter(fn)); StringTokenizer token = new StringTokenizer(content," "); while(token.hasMoreTokens()){ writer.println(token.nextToken()); writer.flush(); } writer.close(); } catch (IOException e1) { e1.printStackTrace(); } } private void saveFileAs(){ JFileChooser fc = new JFileChooser(); int flag = fc.showSaveDialog(this); if (flag == JFileChooser.APPROVE_OPTION) { String name = fc.getSelectedFile().getParent() + "\" + fc.getSelectedFile().getName() + ".txt"; System.out.println(name); this.file = new File(name); savefile(this.file); } } @Override public void actionPerformed(ActionEvent e) { this.txt.setEditable(false); if(e.getSource() == newf){ this.file = null; this.txt.setText(""); JOptionPane.showMessageDialog(this, "Please input your content in the text area."); this.txt.setEditable(true); } else if(e.getSource() == openf){ this.txt.setText(""); JFileChooser fc = new JFileChooser(); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); int flag = fc.showOpenDialog(this); if(flag ==JFileChooser.APPROVE_OPTION){ this.file = fc.getSelectedFile(); try { Reader in = new InputStreamReader(new FileInputStream(this.file)); int tempbyte; String str = ""; while ((tempbyte = in.read()) != -1) { str += (char)tempbyte; } in.close(); this.txt.setText(str); } catch (IOException e1) { e1.printStackTrace(); } } }else if(e.getSource() == savef){ if(JOptionPane.showConfirmDialog(this, "Are you sure that you want to save the change?") == JOptionPane.YES_OPTION){ if(this.file == null){ saveFileAs(); }else{ savefile(this.file); } } }else if(e.getSource() == saveAs){ saveFileAs(); }else if(e.getSource() == exit){ this.dispose(); }else if(e.getSource() == edit){ this.txt.setEditable(true); }else if(e.getSource() == about){ AboutFrame.getFrame(); } } } import java.awt.Color; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; import javax.swing.JLabel; public class AboutFrame extends JFrame implements WindowListener{ private JLabel lbl = null; private static AboutFrame instance = null; private AboutFrame(){ this.setTitle("About This Editor"); this.setSize(250,100); this.lbl = new JLabel("This is a text editor implemented by java."); this.lbl.setForeground(Color.BLUE); this.add(lbl); this.addWindowListener(this); //this.setVisible(true); } public static AboutFrame getFrame(){ if(instance == null){ instance = new AboutFrame(); } instance.setVisible(true); return instance; } @Override public void windowOpened(WindowEvent e) { } @Override public void windowClosing(WindowEvent e) { this.setVisible(false); } @Override public void windowClosed(WindowEvent e) { } @Override public void windowIconified(WindowEvent e) { } @Override public void windowDeiconified(WindowEvent e) { } @Override public void windowActivated(WindowEvent e) { } @Override public void windowDeactivated(WindowEvent e) { } }

java jfilechooser 文本编辑器

保存(另存)的话还是用FileDialog吧。

写个方法,在另存为时直接调用就OK了,如下: public void saveAs() { try { FileDialog fd = new FileDialog(frame, "另存为", FileDialog.SAVE);//frame为所依附的窗体 fd.setVisible(true); FileOutputStream out = new FileOutputStream(fd.getDirectory() + fd.getFile() + ".txt");//存为.txt格式,文件名为你输入的字符串 String str = ta.getText(); for (int n = 0; n < str.length(); n++) { out.write((byte) str.charAt(n)); } out.close(); } catch (Exception ess) { } }

织梦DEDECMS即将授权收费和维权模式 站长应对的几个方法

这两天在站长群里看到不少有使用DEDECMS织梦程序的朋友比较着急,因为前两天有看到来自DEDECMS,我们熟悉的织梦程序官方发布的公告,将会在10月25日开始全面商业用途的使用DEDECMS内容管理程序的会采用授权收费模式,如果我们有在个人或者企业商业用途的,需要联系且得到授权才可以使用,否则后面会通过维权的方式。对于这个事情,我们可能有些站长经历过,比如字体、图片的版权。以及有一些国内的CMS...

JustHost俄罗斯VPS有HDD、SSD、NVMe SSD,不限流量低至约9.6元/月

justhost怎么样?justhost服务器好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯6个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!总体来说,性价比很高,性价比不错,有需要的朋友可以...

SugarHosts糖果主机六折 云服务器五折

也有在上个月介绍到糖果主机商12周年的促销活动,我有看到不少的朋友还是选择他们家的香港虚拟主机和美国虚拟主机比较多,同时有一个网友有联系到推荐入门的个人网站主机,最后建议他选择糖果主机的迷你主机方案,适合单个站点的。这次商家又推出所谓的秋季活动促销,这里一并整理看看这个服务商在秋季活动中有哪些值得选择的主机方案,比如虚拟主机最低可以享受六折,云服务器可以享受五折优惠。 官网地址:糖果主机秋季活动促...

java文本编辑器为你推荐
连接池什么是数据连接池?java队列java 队列搜索引擎有哪些1.什么是搜索引擎?举出几个常用的搜索引擎。体系文件企业质量管理体系文件指的是什么?小项目适合在家做的小项目有什么?互动电视互动电视和有线电视的数字电视有什么区别code查询手机CODE查询soap是什么意思rbq是什么意思?购物网站设计凡客诚品,当当网、卓越网、淘宝、京东商城等电子商务网站的网页设计与功能不同科学计算器说明书求科学计算器怎么用
域名升级访问 新网域名管理 主机评测 59.99美元 iis安装教程 镇江联通宽带 灵动鬼影 中国智能物流骨干网 789电视剧 中国电信宽带测速器 smtp虚拟服务器 英国伦敦 申请免费空间 带宽测试 512内存 腾讯服务器 restart ipower comodo 侦探online 更多